gpt4 book ai didi

android - 如何防止快速双击按钮

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:08 25 4
gpt4 key购买 nike

我看过这里的答案 - Android Preventing Double Click On A Button并像这样实现了 qezt 的解决方案,我已经像这样尝试了 setEnabled(false) -

doneButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

// mis-clicking prevention, using threshold of 1 second
if (SystemClock.elapsedRealtime() - doneButtonClickTime < 1000){
return;
}

//store time of button click
doneButtonClickTime = SystemClock.elapsedRealtime();

doneButton.setEnabled(false);

//do actual work

}
});

这些都不能阻止超快速双击。

注意 - 我没有在处理完成后设置 doneButton.setEnabled(true)。我只是简单地完成 () Activity ,因此不存在按钮过早启用的问题。

最佳答案

我就是这样做的,效果很好。

public abstract class OnOneOffClickListener implements View.OnClickListener {

private static final long MIN_CLICK_INTERVAL=600;

private long mLastClickTime;

public static boolean isViewClicked = false;


public abstract void onSingleClick(View v);

@Override
public final void onClick(View v) {
long currentClickTime=SystemClock.uptimeMillis();
long elapsedTime=currentClickTime-mLastClickTime;

mLastClickTime=currentClickTime;

if(elapsedTime<=MIN_CLICK_INTERVAL)
return;
if(!isViewClicked){
isViewClicked = true;
startTimer();
} else {
return;
}
onSingleClick(v);
}
/**
* This method delays simultaneous touch events of multiple views.
*/
private void startTimer() {
Handler handler = new Handler();

handler.postDelayed(new Runnable() {

@Override
public void run() {
isViewClicked = false;
}
}, 600);

}

}

关于android - 如何防止快速双击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32819477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com