2012-05-22 93 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

相关问题