2012-03-22 19 views
32

こんにちは私はdialogのようなICSの問題に直面しています。dialogウィンドウをクリックするとdismissedをクリックすると、私はユーザーから何の確認も得られない。アンドロイド4.0ダイアログがダイアログウィンドウ外にタッチされたときにキャンセルされる

助けてください。

+6

ICS thで始まる何らかの理由でeyはデフォルトの 'setCanceledOnTouchOutside()'を 'true'にしました。変更はどこにも記載されていないようです(驚きはありません)。誰か読んでいる人のためのちょっとした説明。 –

答えて

55

Androidデベロッパーサイトのthis methodを確認してください。

setCanceledOnTouchOutside(boolean cancel)メソッドを使用して、ブーリアン値を渡してダイアログウィンドウ外にタッチしたときにダイアログの動作を有効/無効にしてみてください。

はまた、これらのリンクを経る:

Android click event outside a dialog

How to cancel an Dialog themed like Activity when touched outside the window?

私はこれがあなたの質問に答える願っています。

+0

ありがとうございました。これらのリンクも便利でした。 – nishi

+0

デフォルトはfalseです。これはユーザーにとって多くの問題を引き起こしました。 – Arad

12

あなたは、Androidの最新vesrionsについては

dialog.setCancelable(true/false); 

OR

dialog.setCanceledOnTouchOutside(true/false); 

を使用することができます。

outSideTouchingイベントを無効にします。

+1

はい、私達はそうすることができますバックキープレス上のダイアログのキャンセルを無効にすることができます。あなたが外に触れたときにキャンセルするには、URのダイアログをしたくない時間の多くは、ダイアログのバックキーのプレスイベントを処理したい.. – nishi

+0

はい右@ニシ。だから私は私の答えを編集し、新しいオプションのsetCancelOnTouchOutSide(T/F)イベントを追加:P – Amt87

0
dialog.setCancelable(false) 

ダイアログはサイドまたは押してタッチBACKキー

dialog.setCanceledOnTouchOutside(false) 

ダイアログ外に触れたときにキャンセルが、できとき押しBACKキー

キャンセルすることができないではない
解約することができたときに
関連する問題