问题描述
你好吗?我正在开发一个应用程序,在该应用程序中我希望执行4个连续的音符,并在它们之间暂停1秒,因为我执行了此功能:
private void playSonidos() {
DesactivarBtn(false);
sonidoIndexA(true);
espera();
sonidoIndexB(true);
espera();
sonidoIndexC(true);
espera();
sonidoIndexD(true);
respuestaCorrecta = Integer.toString(indexA) + Integer.toString(indexB) +
Integer.toString(indexC) + Integer.toString(indexD);
System.out.println(respuestaCorrecta);
DesactivarBtn(true);
return;
}
espera();我用这段代码做到了:
private void espera() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
sonidoIndexA,B,C和D它们只是4种声音中的每一种,当我在设备上运行它时,这很完美,问题是我想使用此DisableBtn禁用此功能运行的按钮(false );它的代码是这样的:
private void DesactivarBtn(Boolean isActive) {
if (isActive == false) {
bottomEscuchar.setCheckable(false);
return;
} else {
bottomEscuchar.setCheckable(true);
return;
}
}
我正在使用的按钮是bottomnavigationview项,我希望在执行playSonidos()函数时,该按钮无法执行任何操作,只有在playSonidos()完成执行之前,这是可行的,因为如果我在函数运行时给按钮单击,它什么也不执行,但是一旦完成,它就会再次再现它,就好像它意识到我在某个时候再次触摸了该按钮,但我没有希望发生...有趣的是,如果我删除DisableBtn(true);如果它满足我的需要,问题是当playSonidos()完成执行时,显然该按钮已被禁用,我希望再次激活它,但它确实注册了playSonidos()期间进行的任何触摸事件。 这样,在单击该项目时,它调用了playSonidos():
escucharSecuencia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
switch (repeatNoRepeat) {
case 0:
System.out.println("sigue activo");
playSonidos();
break;
case 1:
System.out.println("sigue activo");
repetirSonidos();
break;
}
repeatNoRepeat = 1;
System.out.println(respuestaCorrecta);
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)