最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

Android Button按钮单击双击事件实现方法

Android 浏览 评论

在Android开发中,系统并没有自带Button按钮的双击事件,这个需要我们自己来实现这种按钮双击listener事件,非常简单,可以用下面自定义的OnDoubleClickListener类来实现Android的单击与双击:

import android.os.Handler;
import android.view.MotionEvent;
import android.view.View;

public class OnDoubleClickListener implements View.OnTouchListener {

    private static int timeout=400;//双击间四百毫秒延时
    private int clickCount = 0;//记录连续点击次数
    private Handler handler;
    private MyClickCallBack myClickCallBack;
    public interface MyClickCallBack{
        void oneClick();//点击一次的回调
        void doubleClick();//连续点击两次的回调

    }


    public OnDoubleClickListener(MyClickCallBack myClickCallBack) {
        this.myClickCallBack = myClickCallBack;
        handler = new Handler();
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            clickCount++;
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    if (clickCount == 1) {
                        myClickCallBack.oneClick();
                    }else if(clickCount==2){
                        myClickCallBack.doubleClick();
                    }
                    handler.removeCallbacksAndMessages(null);
                    //清空handler延时,并防内存泄漏
                    clickCount = 0;//计数清零
                }
            },timeout);//延时timeout后执行run方法中的代码
        }
        return false;//让点击事件继续传播,方便再给View添加其他事件监听
    }
}

那么如何实现自定义的Button按钮双击事件呢?代码如下:

button.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.MyClickCallBack() {
	@Override
	public void oneClick() {

	}

	@Override
	public void doubleClick() {
	
	}
}));

注意点:

此处要用button或者textview的setOnTouchListener这个事件,而不是setOnClickListener事件来实现按钮的双击监听事件,这一点是要注意的。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/android/1113.html
"文章很值,打赏犒劳作者一下"
微信号: Javaweb_engineer

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

与本文相关的文章

发表我的评论
取消评论

表情

您的回复是我们的动力!

  • 昵称 (必填)

网友最新评论