进入双击事件时如何避免单击?

问题描述 投票:0回答:1

这是我在 Android/Java 上区分单击与双击的基本代码:

int i = 0;

buttonNext.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        i++;
        Handler handler = new Handler();
        Runnable r = new Runnable() {
            @Override
            public void run() {
                i = 0;
                onSingleClick();
            }
        };
        if (i == 1) {
            //Single click
            handler.postDelayed(r, 250);
        } else if (i == 2) {
            //Double click
            onDoubleClick();
        }
    }
});

事实是:单击时,它正确地调用“only”

onSingleClick()
。双击时,它会调用
onDoubleClick()
onSingleClick()

我该怎么办?以某种方式在

handler
上重置
i == 2

java android onclick
1个回答
0
投票

检测到双击时,您应该取消

Runnable
。这可以防止在识别
onSingleClick()
后执行
onDoubleClick()

© www.soinside.com 2019 - 2024. All rights reserved.