下面有个案例:
A点击的时候就跳转到B界面,点击B界面后结束,返回到A界面中
1、此时在B界面中,设置点击事件,点击后结束B
v.setOnClickListener(new OnClickListener() { @Override public 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() { @Override public void onClick(View v) { v.setOnClickListener(null);//这里需要结束事件的监听 handler.postDelayed(new Runnable() { @Override public void run(){ B.finish(); } }, 500); } });
时间: 2024-10-08 05:14:34