android 防止多次点击,导致事件监听响应到其他界面

来源:互联网 发布:linux aria2 多线程 编辑:程序博客网 时间:2024/05/22 08:06

下面有个案例:

A点击的时候就跳转到B界面,点击B界面后结束,返回到A界面中

1、此时在B界面中,设置点击事件,点击后结束B

v.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {B.finish();}});


2、此时如果在B界面连续点击多次,可能会导致B结束后,返回A,点击事件又响应到A界面中,导致B界面重复显示

3、要解决这个问题,可以使用下延迟策略,就是在B界面点击后,不立即返回到A界面中,而是设置个延迟时间,点击后,延迟1000ms(自定义)后再结束B,返回到A界面中。这样就能解决在B界面中重复点击导致点击事件到界面A中

4、代码如下:

              v.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {v.setOnClickListener(null);//这里需要结束事件的监听handler.postDelayed(new Runnable() {@Overridepublic void run(){B.finish();}}, 500);}});



1 0