点击一个Dialog弹窗,本来就是一个很简单的事,但是最近出现了这么一个情况,就是在快速的点击并显示弹
出框时,出现了重复弹出,显然这样的用户体验就让人很不爽!!
比如:我有一个按钮,点击按钮之后会弹出一个Dialog,弹出一个我就处理一个,这样很友好。但是,问题来
了,当我快速的点击了按钮两下之后,就冒出了两个Dialog,点完一个Dialog,还有一个Dialog,等着我,我的天
啊,这什么鬼东西啊,这样子的用户体验就很差,百思不得其解啊!
后来,通过网上找资料什么的各种途径,就有人说将自己设置的Dialog设置成为类的成员变量,而不是临时变量。
这就可以解决那个问题了,比如这位博主提出的 http://blog.csdn.net/tedzyc/article/details/8295434 ,将
Dialog设置成为类的成员变量,不要每次点击都去新建一个Dialog,这样子就避免了,可能会因为手速而使得弹出框
突然间弹出多个的问题。但是博主后来试了以下,各种情况,发现好像并不是这个原因。于是,我检查了我的项目代
码发现,出现这个问题的位置都出现在了当我要点击一个listview的item时,弹出弹窗信息,然后我是使用了
listview.setonItemClickLstener()方法:
<span style="white-space:pre"> </span>listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO 在这里我弹出一个Dialog
AlertDialog.Builder builder=new Builder(context);
builder.setTile("");
builder.setmessage("");
builder.setpoi...
<span style="white-space:pre"> </span>builder.create().show();
}
});
就会出现问题,具体原因,到现在还不曾知晓,还望知道的朋友可以留言相告,感激不尽啊!
我的解决办法就是不要这里设置点击item事件,而是在adapter中获取到item的layout,再设置item的点击
事件,这样我就避免了此类情况了,但是还是想知道为什么会出现这种情况,我使用别的手机软件:大众点评的时候也会出现这种情况,但是她出现这种情况的几率还是很小的,况且手速也是要很快,才有可能会出现两个Dialog,但是我的却很经常出现这种情况。我只好走别的路子了。
(带点击的ITEM) (点击之后,弹出)