2017-09-29 1 views
0

私はネット上で長い時間を探しています。しかし、使用しないでください。 コントロールの外側がクリックイベントに反応し、ダイアログが消えるときにユーザーがダイアログの外をクリックすると思いますが、それは2つの理由で不可能と思われますイベントを通過できないビューレイヤー。ダイアログボックスをクリックします。以下は、クリックイベントに応答することができます

+0

あなたがこれまでにしようとしているかを示すためにいくつかのコードを入力してください。問題はあまり明確ではありません。 –

+0

すべてのダイアログボックスはクリックを無効にします。そうしたくない場合は、クリック可能をfalseにします。 – SanVed

+0

ダイアログの外側の領域をクリックすると、このクリックイベントを渡すことができます – jack

答えて

0

タッチすると外部でダイアログがキャンセルされないようにするには、dialog.setCanceledOnTouchOutside (false);を使用します。

外部にクリックしたときにタッチイベントを他のビューに渡す場合は、アラートダイアログを使用しないでください。ちょうどRelativeLayoutのような単純なレイアウトを使用してください(おそらくいくつかの高度で)。表示方法はsetVisibilityです。

+0

あなたの答えはありがたいですが、このクリックイベントを次のビューに渡し、ダイアログを取り消さないことです。 – jack

+0

@jack check編集された答え –

+0

まあ、私はユーザーにヒントを与えたい、あなたが言うことに従えば、各レイアウトにコードを追加する必要があります。 – jack

0

期待したことは不明ですが、AlertDialogを使用してダイアログボックスを作成している場合は、setCancelable()falseに設定するとこのトリックが行われます。

例:

AlertDialog.Builder builder = new AlertDialog.Builder(); 
... 
builder.setCancelable(false); 
... 
AlertDialog dialog = builder.create(); 
dialog.show(); 
+0

あなたの答えをありがとう、私はダイアログの外側の領域をクリックして、このクリックを渡すことができますイベント。 – jack

関連する問題