2012-05-22 133 views
5

其實我在我的活動中有Dialog,我想要的是假設對話框是打開的,然後在外部對話框的觸摸我想解除對話框並在相同的我想調用一個函數,在我的活動中做一些更新。如何捕捉對話框被點擊時的觸摸事件

最初我使用MyDialog.setCanceledOnTouchOutside(true);但是這些只會解僱,在我的情況下,同時我想調用一些功能,每當用戶單擊對話框外。那麼我該怎麼做,我知道如果我可以擴展Dialog類並覆蓋它的onTouchEvent方法,那麼它將被解決,但在我的例子中,我的類已經擴展了Activity類,並且在java中我們不能擴展超過一個類。

那麼最好的解決方案是什麼?請幫我解決了這一點

+0

這個鏈接看起來類似於你想要達到的目標。 [link] [1] [1]:http://stackoverflow.com/questions/5185517/updating-android-edittexts-hint-on-focus-change-using-xml-only – geekoraul

+0

@geekoraul我dont認爲你讀我的問題....... – AndroidDev

+0

@AndroidCoder:MyDialog.setCanceledOnTouchOutside(false)幫助我限制取消對話框,但在這種情況下,焦點窗體對話框按鈕也失去了...任何想法如何可以保留焦點在對話框按鈕前夕點擊外面。 – 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

相關問題