gpt4 book ai didi

java - Android - 使用 onclick 时的计时

转载 作者:行者123 更新时间:2023-12-01 12:54:02 25 4
gpt4 key购买 nike

我正在尝试创建一个应用程序,当按下按钮时,每次都会得到不同的结果。我使用的是一个名为“counter”的全局 int,每次都会增加 +1。

我的问题是,如果我快速按下按钮几次,它会“跳”到末尾。如何在每台打印机之间创建空间?

我想使用 handler.postDelayed(Runnable, 500);但我不确定这是否是最好的解决方案。还有 - 何时以及如何在代码中使用它?

谢谢。

public class MyMain extends Activity implements OnClickListener {

int clickCounter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_my_main);

findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.button2).setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.button2:
clickCounter = 0;
break;
case R.id.button1:
clickCounter++;
ActionByClick();
break;
}
}

private void ActionByClick() {
// TODO Auto-generated method stub
if (clickCounter == 1){

} else if (clickCounter == 2){

} else if (clickCounter == 3){

} else if (clickCounter == 4){

}
}

}

最佳答案

您可以创建一个具有阈值的计时器,该阈值将在您每次按下按钮时进行检查,以便您在特定时间内无法单击它。

示例:

     @Override
public void onClick(View v) {
// Preventing multiple clicks, using threshold of 0.5 second
if (SystemClock.elapsedRealtime() - mLastClickTime < 500) {
return;
}
mLastClickTime = SystemClock.elapsedRealtime();

///YOUR BUTTON CLICK HERE
}

<强> if (SystemClock.elapsedRealtime() - mLastClickTime < 500) 检查最后一次发生的点击是否已经是 0.5 秒。

关于java - Android - 使用 onclick 时的计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021916/

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