我有两个方法:go()和stop(),以及一个for循环遍历这些方法3次。 go()在循环开始时自动激活,并且stop()仅在按下按钮3次后才会激活:
private static int buttonPress;
for (int i = 0; i < 3, i++) {
go();
do {} while(pressCount < 4);
stop();
}
每当按下按钮时,pressCount都会增加1:
public void button(View v) {
pressCount++;
}
问题在于使用此设置,当do while循环启动时,应用程序冻结并崩溃。
有什么方法可以解决此问题,同时仍可以在stop()之前激活go(),在pressCount大于3之后激活stop(),并循环3次?
谢谢
最佳答案
您无法暂停主线程,应用程序冻结。
private int loopCount = 0;
private int pressCount = 0;
public void button(View v) { /* Runs when button is clicked */
if (loopCount < 4){
pressCount++;
if (pressCount == 3){
pressCount = 0;
loopCount++;
stop();
}
}
}
按下按钮3次后,此代码运行
stop()
,但仅运行3次。 (按9次后无任何反应)