2012-05-22 4 views
5

実際に私はDialogを自分のアクティビティに持っていますが、私が望むのはダイアログが開いていると仮定してから、外部ダイアログのタッチでダイアログを閉じたいと思います私は私の活動でいくつかの更新を行う関数を呼び出すと思います。ダイアログのタッチイベントをキャッチする方法

最初に私はMyDialog.setCanceledOnTouchOutside(true);を使用しましたが、私の場合は同時に、ユーザがダイアログの外をクリックするたびにいくつかの関数を呼び出すことが必要です。では、どうすればいいですか?Dialogクラスを拡張してonTouchEventメソッドをオーバーライドできれば、それは解決されますが、私のクラスでは既にアクティビティクラスが拡張されています。

だから、そのための最良の解決策は何でしょうか。 (作品、それを自分自身を使用)このスレッド上の第二の答えがこれを実行する方法を示しています私は

+0

このリンクは、あなたが達成したいものに似ているようです。 [リンク] [1] [1]:http://stackoverflow.com/questions/5185517/updating-android-edittexts-hint-on-focus-change-using-xml-only – geekoraul

+0

@geekoraul私はいけませんあなたが私の質問を読んだと思う....... – AndroidDev

+0

@AndroidCoder:MyDialog.setCanceledOnTouchOutside(false)ダイアログのキャンセルを制限するのを助けますが、この場合はフォーカスフォームダイアログボタンも失われています...どのようにしてフォーカスを保持できるかダイアログ上のボタンeveが外側をクリックします。 – CoDe

答えて

2

をこれを解決するために助けてください:

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

+0

このコードは活動を終了するために使用されます。しかし私の場合、私はdilogを却下したい – AndroidDev

+0

私は、ごめんなさい。あなたは同じロジックを使用することはできますか? MyDialog.setCanceledOnTouchOutside(false)を設定した場合。タッチを外に出て、プログラムでダイアログを閉じますか? – Tony

+0

サンプルコードで私に見せてもらえますか...可能であれば、どのような機能がタッチをキャッチしなければなりませんか...... – AndroidDev

関連する問題