0

FragmentActivityを拡張したクラス内にダイアログを表示したい。同じことを試しましたが、次のエラーメッセージが表示されます。

  05-14 10:15:28.821: E/AndroidRuntime(2927): java.lang.IllegalStateException: Activity has been destroyed
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at   android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1342)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.support.v4.app.DialogFragment.show(DialogFragment.java:127)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at com.sriseshaa.ecgviewer.FragmentTabActivity$1$1.run(FragmentTabActivity.java:70)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.os.Handler.handleCallback(Handler.java:725)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.os.Handler.dispatchMessage(Handler.java:92)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.os.Looper.loop(Looper.java:137)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at android.app.ActivityThread.main(ActivityThread.java:5039)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at java.lang.reflect.Method.invokeNative(Native Method)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at java.lang.reflect.Method.invoke(Method.java:511)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
  05-14 10:15:28.821: E/AndroidRuntime(2927):   at dalvik.system.NativeStart.main(Native Method)

FragmentTabActivity.java:70 は

   adFragment.show(getSupportFragmentManager(), "dialog");

次のコード スニペットでダイアログを呼び出しました

          Bundle bundle = new Bundle();  
          bundle.putString("title", "Message");  
          bundle.putString("message", StaticHelper.l);  
          bundle.putString("positive", "Ok");  
          bundle.putString("negative", "Cancel");  
          // bundle.putInt("id", mIndex++);  
          AlertDialogFragment adFragment = new AlertDialogFragment();  
          adFragment.setArguments(bundle);  
          adFragment.show(getSupportFragmentManager(), "dialog");  

私が逃したものは何ですか?そして、これの問題は何ですか?助けてください。ありがとうございます!!

4

1 に答える 1

1

本当にアラートダイアログを表示したい場合は、次のようにAlertDialog.Builderを使用する際の問題は何ですか。

    AlertDialog.Builder dialog = new AlertDialog.Builder(this);
    dialog.setIcon(R.drawable.ic_launcher);
    dialog.setTitle("Title");
    dialog.setMessage("Message");
    dialog.setPositiveButton("yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {

        }
       });
       dialog.setNegativeButton("no", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.dismiss();
            }
      });
      dialog.show();
于 2013-05-14T10:41:43.653 に答える