如何在持续点击一段时间后为按钮添加onClickListener?
How to add onClickListener for a button after keep clicking on it for a while?
大家好,我是初学者 android 开发人员,我有一个问题尚未找到答案。例如,我想在持续点击按钮 1.5 秒后为按钮添加一个 onClickListener?
Originally Answered
您无法为 onLongClickListener()
定义自定义持续时间
相反,您应该使用 onTouchListener 并查看用户单击按钮的时间
当那个时间超过你的限制时,你的代码就像这样
Button your_button = findViewById(R.id.your_button_ID);
long time = 0;
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
time = (Long) System.currentTimeMillis();
}
else if(event.getAction() == MotionEvent.ACTION_UP){
if(((Long) System.currentTimeMillis() - time) > 1500){
// if time>1.5 seconds do your code here
return true;
}
}
return false;
}
});
大家好,我是初学者 android 开发人员,我有一个问题尚未找到答案。例如,我想在持续点击按钮 1.5 秒后为按钮添加一个 onClickListener?
Originally Answered
您无法为 onLongClickListener()
定义自定义持续时间
相反,您应该使用 onTouchListener 并查看用户单击按钮的时间
当那个时间超过你的限制时,你的代码就像这样
Button your_button = findViewById(R.id.your_button_ID);
long time = 0;
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
time = (Long) System.currentTimeMillis();
}
else if(event.getAction() == MotionEvent.ACTION_UP){
if(((Long) System.currentTimeMillis() - time) > 1500){
// if time>1.5 seconds do your code here
return true;
}
}
return false;
}
});