setCheckable不能与线程一起运行

问题描述

你好吗?我正在开发一个应用程序,在该应用程序中我希望执行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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...