IllegalStateExceptionが:onActivityResultとonSaveInstanceState後にこのアクションを実行することはできません

Nazmulハサン:

私はAndroidの開発に新しいです。私は問題を得ました。私は時間の最後のカップルを試してみましたが、私はこれを把握することはできません。私は人気の疑問を持っている場合。IllegalStateExceptionが:ViewPagerでonSaveInstanceState後にこのアクションを実行することはできませんが、理由はAndroidの開発経験の不足のため失敗しました。

ここでは、コードは次のようになります。

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) {
            if(resultCode == RESULT_OK) {
                MyCustomDialogFragment newPopup = new MyCustomDialogFragment();
                newPopup.setMyClickListener(MainActivity.this);
                FragmentManager fragmentManager = getSupportFragmentManager();
                newPopup.show(fragmentManager, "CashReceivePopup");  
          } 
       }
   }

ここではエラーは以下のとおりです。

com.android.internalでcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:903)でjava.lang.reflect.Method.invoke(Method.java:372)でのinvoke(ネイティブメソッド)。 os.ZygoteInit.main(ZygoteInit.java:698)01-04 05:08:59.825 13609から13651 / com.nazmul.aznazgame.bitlife I / CrashlyticsCore:Crashlyticsレポートは、完全アップロード:5C2EEA4F018E-0001-3529-63E978D09744 01-04 05:08:59.955 13609から13609は/ com.nazmul.aznazgame.bitlife I /プロセス:信号を送信します。PID:13609 SIG:9 955 13609から13609 / com.nazmul.aznazgame.bitlifeのI /プロセス:信号を送信します。PID:13609 SIG:9 955 13609から13609 / com.nazmul.aznazgame.bitlifeのI /プロセス:信号を送信します。PID:13609 SIG:9

ianhanniballake:

あなたは、呼び出す必要がありsuper.onActivityResult(requestCode, resultCode, data)、あなたの内の任意のFragmentTransactionsを行う前にonActivityResult()、その呼び出しが有効な状態であることを「ロック解除」FragmentManagerとノートがFragmentTransactionsをどうするかである方法。

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

        // This all remains the same
        if (requestCode == 1) {
            if(resultCode == RESULT_OK) {
                MyCustomDialogFragment newPopup = new MyCustomDialogFragment();
                newPopup.setMyClickListener(MainActivity.this);
                FragmentManager fragmentManager = getSupportFragmentManager();
                newPopup.show(fragmentManager, "CashReceivePopup");  
          } 
       }
   }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=239615&siteId=1