gpt4 book ai didi

java - Android模拟器排队点击?

转载 作者:行者123 更新时间:2023-11-30 04:35:04 26 4
gpt4 key购买 nike

我现在面临的问题是 android 模拟器似乎对我在下面的按钮上所做的点击进行排队。如果我以正常速度单击,那永远都没有问题。但每当我这么说,垃圾邮件点击按钮时,它似乎收到所有点击并执行该数量的操作。

例子:该数组有 5 个值长,如果我站在索引 5 上并非常快地单击后退按钮 4 次,我最终会在索引 1 处结束,但如果我站在索引 2 上并垃圾邮件点击三次,它会抛出java.lang.ArrayIndexOutOfBoundsException

代码如下:

     ButtonGoBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// here i set it disabled to prevent mass clicks/taps/touches.
ButtonGoBack.setEnabled(false);


enumCounter--;



temporaryValue = values[enumCounter];

doSomething(temporaryValue);
// hides button
if(enumCounter== 0)
{
ButtonGoBack.setVisibility(4);
}


}

});

100~ 左右的代码行。

ButtonGoBack.setEnabled(true);

似乎并不能解决问题。

有什么关于如何以不同方式做到这一点的建议吗?

最佳答案

通过使用 try{}catch{} 并将计数器递增 1 来解决。

  ButtonGoBack.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {

try
{
enumCounter--;

temporaryValue = values[enumCounter];

doSomething(temporaryValue);
// hides button
if(enumCounter== 0)
{
ButtonGoBack.setVisibility(4);
}
}
catch(Exception e)
{
ButtonGoBack.setVisibility(4);
enumCounter++;
}
}
});

关于java - Android模拟器排队点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6979054/

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