Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:点击延迟停止_Android_Onclicklistener - Fatal编程技术网

Android 安卓:点击延迟停止

Android 安卓:点击延迟停止,android,onclicklistener,Android,Onclicklistener,我想在单击5次时触发一个意图。问题是,当我点击3次并暂停一段时间,然后再次点击2次,意图被激发 我只想在连续单击5次时使用它 static int i = 0; public void onClick(View view) { i++; if (i == 5) { i = 0; Intent myIntent = new Intent(activity, loginActivity.class); activity.startAc

我想在单击5次时触发一个意图。问题是,当我点击3次并暂停一段时间,然后再次点击2次,意图被激发

我只想在连续单击5次时使用它

static int i = 0;

public void onClick(View view) {
    i++;
    if (i == 5) {
        i = 0;
        Intent myIntent = new Intent(activity, loginActivity.class);
        activity.startActivity(myIntent);
    }
}

是否可以配置单击之间的最大延迟?

您可以存储上次单击的时间戳,并在上次单击后的延迟高于阈值时重置单击计数器:

private static final double MAX_CLICK_DELAY = 500; // 500ms
private double lastClickTime = 0;
private int i = 0;

public void onClick(View view) {
    double currentTime = System.currentTimeMillis();

    if(currentTime - lastClickTime > MAX_CLICK_DELAY) {
        i = 0;
    }

    lastClickTime = currentTime;

    i++;
    if (i == 5) {
        i = 0;
        Intent myIntent = new Intent(activity, loginActivity.class);
        activity.startActivity(myIntent);
    }
}

您可以存储上次单击的时间戳,并在上次单击后的延迟高于阈值时重置单击计数器:

private static final double MAX_CLICK_DELAY = 500; // 500ms
private double lastClickTime = 0;
private int i = 0;

public void onClick(View view) {
    double currentTime = System.currentTimeMillis();

    if(currentTime - lastClickTime > MAX_CLICK_DELAY) {
        i = 0;
    }

    lastClickTime = currentTime;

    i++;
    if (i == 5) {
        i = 0;
        Intent myIntent = new Intent(activity, loginActivity.class);
        activity.startActivity(myIntent);
    }
}