首页 > 代码库 > android 防止多次点击,导致事件监听响应到其他界面

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

下面有个案例:

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);

					}
				});



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