2011-08-18 14 views
18

によって閉じましょう。そして、私はそれをボタンで閉じることができます。しかし、ハードウェア・バック・ボタンは、ダイアログのアクションを実行せずにこのダイアログを閉じることもできます。は、私はこのような警告ダイアログを持って戻るボタン

私はこのボタンを閉じるボタンをこのダイアログに表示しないでください。何がで​​きますか?

答えて

10

setOnKeyListenerを実装し、KeyEvent.KEYCODE_BACKをキャッチします。 このメソッドでtrueを返すと、ダイアログは閉じません。

+4

この方法で、ユーザーがダイアログのボタンを押したときに、実際に何をしたいかを実際に行うことができます。 – CommonMan

+0

これはバックボタンにアクションを追加したいので私にとって唯一の便利な解決策でした。 – Roel

58

使用Dialog.setCancelable():このダイアログはBACKキーで解約であるかどうかを

を設定します。あなたのコードで

これは次のようになります。

oyunaBaslaDialog.setCancelable(false); 
+0

素晴らしいありがとう! – Batuhan

+1

しかし、バックキーが特定の条件に基づいてダイアログを閉じるかどうかを決定したいだけの場合はどうなりますか? – aggregate1166877

+8

ダイアログがDialogFragment内にある場合は、DialogFragmentにsetCancelable(false)を呼び出す必要があります。そうしないと、フラグメントが閉じられます。ドキュメントへのリンク:http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable%28boolean%29 – Ognyan

0

が呼ばれる方法がある、それはで.override bulder.setCancelable()は、この解約セット '本当を' デフォルト.by、

bulder.setCancelable(false) 
関連する問題