SORU
11 NİSAN 2012, ÇARŞAMBA


Haritayı onActivityResult gelen DialogFragment

Benim bir parça için onActivityResult aşağıdaki kodu var:

onActivityResult(int requestCode, int resultCode, Intent data){
   //other code
   ProgressFragment progFragment = new ProgressFragment();  
   progFragment.show(getActivity().getSupportFragmentManager(), PROG_DIALOG_TAG);
   // other code
}

Ancak, aşağıdaki hatayı alıyorum:

Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState   

Bunu düzeltebilirim nasıl kimse ne olduğunu ya? Android Destek Paketi kullanıyorum dikkat etmelisiniz.

CEVAP
4 NİSAN 2013, PERŞEMBE


Eğer Android destek kitaplığı kullanıyorsanız, onResume metodu parçaları ile burada oynamak için doğru yer değil. OnResumeFragments yöntemi yapmalısın, onResume metodu açıklamasına bakın: http://developer.android.com/reference/android/support/v4/app/FragmentActivity.html#onResume()

Benim açımdan doğru kodu olmalıdır:

private boolean mShowDialog = false;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
  super.onActivityResult(requestCode, resultCode, data);

  // remember that dialog should be shown
  mShowDialog = true;
}

@Override
protected void onResumeFragments() {
  super.onResumeFragments();

  // play with fragments here
  if (mShowDialog) {
    mShowDialog = false;

    // Show only if is necessary, otherwise FragmentManager will take care
    if (getSupportFragmentManager().findFragmentByTag(PROG_DIALOG_TAG) == null) {
      new ProgressFragment().show(getSupportFragmentManager(), PROG_DIALOG_TAG);
    }
  }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • LavcoPriceTech

    LavcoPriceTe

    21 AĞUSTOS 2010
  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011