android程序 连击图像按钮后对话框只弹出一次处理
发布网友
发布时间:2022-10-14 20:11
我来回答
共2个回答
热心网友
时间:2024-12-02 03:22
您好,当快速的连续的两次点击,onTouch会调用4次,分别是down-up-down-up. 这样根据您代码的中判断,dialogPictureShow()会被调用两次,我猜你在dialogPictureShow()是有new dialog对象代码,那么,如果您在dialogPictureShow()没有判断dialog是否已经创建过,dialog就会被创建两次。
一种办法是:
您可以在dialogPictureShow();方法中加如下判断:
a.dialog是否已经创建了。dialog != null.
b.dialog是否处于显示状态,dialog.isShowing()
if(dialog != null ){
//创建对话框
...
}else{
if( ! dialog.isShowing()){
//显示
dialog.show();
}
}
热心网友
时间:2024-12-02 03:23
最简单的做法,在这个类中加标志 比方说 private boolean dialogFlag = false;
dialogPictureShow前面加上判断
dialogPictureShow(){
if(!dialogFlag){
dialogFlag = true;
}else{
return;
}
}
然后在对话框退出的地方把dialogFlag设为false 就解决了
更好一点的解决方法就是不用对话框,而用PopWindow,在第一次调用显示PopWindow时初始化它,以后的每次只需要show一下它就行了,不会出现多个PopWindow的情况。
还有楼主的图片按钮实现方式太原始了,用 selector来设置图像按钮吧
http://wenku.baidu.com/view/bd44ddc56137ee06eff9184b.html 这里有介绍