android 实现button单击双击事件同时监控

转载 2015年10月27日 19:03:30

java代码部分

<pre name="code" class="java"><span style="font-size:18px;">package com.xpc.doubleclick;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class DoubleClickTest extends Activity {         
	   private boolean waitDouble = true;  
	   private static final int DOUBLE_CLICK_TIME = 350; //两次单击的时间间隔  
	   @Override  
	   public void onCreate(Bundle savedInstanceState){  
	      super.onCreate(savedInstanceState); 
	      // 设置布局文件,其中只有一个Button  
	      setContentView(R.layout.activity_main);  
	      Button button = (Button)findViewById(R.id.button1);  
	      button.setOnClickListener(listener1);  
	   }  
	   private OnClickListener listener1 = new OnClickListener() {
		@Override
		public void onClick(View v) {
	
	<span style="white-space:pre">	</span>if ( waitDouble == true )   //第一次击按钮,等待双击
	         {  
	            waitDouble = false;    //准备接受双击
	            Thread thread = new Thread() {  //开启线程</span>
<span style="font-size:18px;">	               @Override  
	               public void run() {  
	                  try {  
	                     sleep(DOUBLE_CLICK_TIME);  //线程睡眠
	                     if ( waitDouble == false ) {  //如果在睡眠时间中任未进行第二次点击,</span>
<span style="font-size:18px;"><span style="white-space:pre">			</span>//如果进行了第二次点击则第一次点击未产生任何效果
	                        waitDouble = true;  
	                        singleClick();  <span style="white-space:pre">	</span>//判断该次操作为单击操作,等待下一次点击
	                     }  
	                  } catch (InterruptedException e) {  
	                     e.printStackTrace();  
	                  }  
	               }  
	            };  
	            thread.start();  
	         }   
	         else {  <span style="white-space:pre">		</span>//在第一次点击正在睡眠时,进行了第二次点击
	            waitDouble = true;  
	            doubleClick();  <span style="white-space:pre">	</span>//判断出为双击,等待单击
	         }  
			
		}
			
		};
	     
	     
	   // 单击响应事件  
	   private void singleClick(){  
	       System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<singleClick");
	   }  
	     
	   // 双击响应事件  
	   private void doubleClick(){  
	       System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<doubleClick");
	   }  
	     
	}</span>



xml布局文件代码

<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Button" />

</RelativeLayout></span>
   demo下载地址

android 处理双击事件监听

自定义一个监听类:public class OnDoubleClickListener implements View.OnTouchListener { private final String T...
  • yugui865
  • yugui865
  • 2016-05-30 11:38:50
  • 3682

android button双击监听事件

第一次做按钮双击监听事件,在这里就分享出来我自己的做法 刚开始我直接这样做的: private int count = 0; button.setOnClickListener(new OnCli...
  • generallizhong
  • generallizhong
  • 2016-11-29 10:12:14
  • 1073

Android系统中自定义按键的短按、双击、长按事件

在项目中碰到这样的问题: 由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 1、...
  • L_mixiu
  • L_mixiu
  • 2016-06-30 19:43:10
  • 3017

android view实现onclick单击,doubleclick双击回调,而且不冲突。

看到很多双击的实现方式都是在单击的前提下实现的; 会出现冲突,双击的时候第一个其实是单击; 我们想要实现的方式是,双击和单击分开,双击的时候不会执行单击的响应。...
  • u010878994
  • u010878994
  • 2017-01-12 15:47:59
  • 966

android中根据touch事件判断单击及双击

private static final int MAX_INTERVAL_FOR_CLICK = 250;     private static final int MAX_DISTANCE_FO...
  • mydreamongo
  • mydreamongo
  • 2014-08-06 19:45:30
  • 9675

Android ontouch 拖动与点击事件冲突解决方式

有一个控件,既支持拖动又需要支持点击事件,当使用ontouch事件,可以实现拖动,但这时候当up的时候,就会同时相应点击事件,当现在的需求是拖动的时候不能响应点击事件,找到如下方法:    1.设置...
  • omayyouhappy
  • omayyouhappy
  • 2016-06-03 16:28:47
  • 5380

Android Button按钮点击两次之后,才执行点击事件的操作。

在我的项目里有个页面同时存在 一个EditText和一个Button。如图。 由于每次进入这个页面都弹出软键盘,所以我在这个提交订单页面的AndroidManifest.xml中声明...
  • ndscuw
  • ndscuw
  • 2016-07-02 15:17:36
  • 4872

android 按钮两次点击事件区分

android 界面中为了实现,当用户第二次点击就取消的功能,所以加入了一个flag,还有为了给函数传入一个唯一标识,使用uuid,代码实例如下: // 增加在图形上给对应的挂单,价格增加到图形上面...
  • omayyouhappy
  • omayyouhappy
  • 2015-12-29 14:53:14
  • 2031

使用OnTouch实现一个控件同时设置单击、双击、长按事件demo

  • 2016年04月01日 19:51
  • 1.15MB
  • 下载

Android单击、多击事件、定时器

Android单击、多击事件、定时器
  • itCatface
  • itCatface
  • 2015-12-01 16:22:58
  • 3864
收藏助手
不良信息举报
您举报文章:android 实现button单击双击事件同时监控
举报原因:
原因补充:

(最多只允许输入30个字)