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

					}
				});
时间: 2024-10-08 05:14:34

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

android CheckBox控件的定义及事件监听

http://www.beijibear.com/index.php?aid=336 android CheckBox控件的定义及事件监听,本例实现CheckBox控件的定义及点击事件的监听并显示结果,运行效果截图如下: CheckBox控件的定义,main.xml内容如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas

Android Button 的按下和抬起事件监听

代码实现的功能是使得一个按钮在按下的实现显示光色图安,抬起的时候的显示黄色图案. 然后图案自己设置形状.当然还可以缺一角什么的. 为Button绑定 OnTouchListener 监听器. public class AppMain extends Activity{ private Button mButton; /** Called when the activity is first created. */ public void onCreate(Bundle savedInstance

Android截屏事件监听

转载注明出处:http://blog.csdn.net/xiaohanluo/article/details/53737655 1. 前言 Android系统没有直接对截屏事件监听的接口,也没有广播,只能自己动手来丰衣足食,一般有三种方法. 利用FileObserver监听某个目录中资源变化情况 利用ContentObserver监听全部资源的变化 监听截屏快捷按键 由于厂商自定义Android系统的多样性,再加上快捷键的不同以及第三方应用,监听截屏快捷键这事基本不靠谱,可以直接忽略. 本文使用

Android事件监听(二)——点击鼠标事件

Button.ImageButton事件监听(setOnClickListener) 方法一:通过匿名内部类实现 代码如下: package com.note.demo2; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import

Android实现Button按钮点击事件监听的几种方式

工作中的项目通常有多个人一起开发,而每个人都有每个人的代码风格,不注重代码规范通常是前人挖坑,后人采坑,降低项目开发效率及加大维护难度,这里分享几种安卓按钮点击事件监听的实现方式. 方式一:直接在Activity中实现View.OnClickListener接口,重写onClick方法,提供所有按钮监听事件入口.这是实际项目中最常用的方式,尤其在页面有多个按钮的情况下比较适用. package com.example.myapp; import android.app.Activity;impo

Android——按钮的事件监听

关于Button按钮的四种事件监听方法总结 首先我们在activity_main.xml里面先定义一个Button空间 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andr

事件监听:诀别Android繁琐的事件注册机制——view.setOnXXXXListener 滚犊子

好久没写过随笔了......windows phone生态没起来,属于.net阵营的我最近工作不是太忙,闲暇之余就心血来潮开始研究安卓.先简单扯两句这几天学习下来对java事件监听机制的一点感触.客观地讲,java的事件监听机制相比.net好原始,暂不说委托.lamda.泛型等的繁琐,仅一个事件监听,就需要各种listener才能实现,比如安卓里到处都是view.setOnXXXXListener.被C#“语法糖”和宇宙第一IDE惯坏的我真心有点不习惯,于是就决定写个工具来封装这些烦人的list

android开发事件监听

第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式.上面的程序代码就是匿名内部类来创建事件监听器的!!!对于使用匿名内部类作为监听器的形式来说,唯一的缺点就是匿名内部类的语法有点不易掌握,如果读者java基础扎实,匿名内部类的语法掌握较好,通常建议使用匿名内部类作为监听器.第二种:内部类作为监听器 将事

Android 事件监听处理

事件监听的处理模型包含三个成员:事件源.事件以及事件监听器. 基于监听的事件处理模型一般包含几个步骤: 1.获取普通界面组件: 2.实现事件监听器类 3.将监听器对象注册给普通组件 当事件源上发生指定事件的时候,Android就会触发对应事件监听器,并由事件监听器调用相应的方法来处理事件. public class RemoteControlActivity extends Activity { EditText ipET; EditText socketET; Button button; @