2013-08-08 12 views
21

ボタンを使用してプログラムでAndroidでダイアログを閉じるにはどうすればよいですか?Androidでダイアログをプログラムで閉じるにはどうすればいいですか?

私はダイアログに[OK]ボタンがあり、[OK]ボタンで閉じたいと思っていますが、私はそれをやります!

私はグーグルで見つけて役に立たず、ほとんどはダイアログを閉じずにAlertDialogを閉じてしまった。

答えて

34

ダイアログでdismissと電話することができます。

+0

ありがとうございました:) thats worked!おかげで、すべての:) –

+0

:)私の愚かなQについて申し訳ありません私は.setPositiveButton( "OK"、新 DialogInterface.OnClickListener()を使用{(DialogInterfaceダイアログ、INT){dismissDialog(DIALOG_Success) ます。public void onClickのを、 }} )しかし、再度ダイアログを表示すると、ダイアログに古いメッセージが表示されます。Activity.this.showDialog(DIALOG_Success、arg)を書きました。手伝って頂けますか? – Fatemeh

8

これは、2つのボタン(OKとキャンセル)でAlertDialogを作成する方法の例です。 キャンセルボタンをクリックすると、

dialog.dismissは()

ダイアログを閉じるために呼び出されます。

どこでも外から、あなたは)(

builder.dismissを呼び出すことができます。

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
      builder.setMessage("Some message.") 
        .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          // do something 
         } 
        }) 
        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          dialog.dismiss(); 
         } 
        }); 

      builder.show(); 
+1

builder.dismiss()のようなメソッドはありません。 –

7
dialog.dismiss(); 

のみ、このラインは、それを閉じます。 :-)

これをonClickListenerで実装します。

+1

ダイアログクラス内からdismiss()メソッドを呼び出すだけでいいです!ありがとうHelmisek :) –

+0

DialogFragmentの 'dismiss()'メソッドを呼び出す –

1

あなたは別々の活動として、あなたのダイアログを持っている場合は、それを閉じるための最も簡単な方法は、呼び出すことです:

finish(); 

コールOnClickListenerクラス、onClickの()メソッド内でこのメソッドを。

これは、結果的にonPause()、onStop()およびonDestroy()メソッドを呼び出し、現在のアクティビティを終了させます - 「戻る」ボタンと同じです。

関連する問題