切换按钮状态不变

时间:2016-10-28 20:42:04

标签: android togglebutton

对于nOOb'我很抱歉,但我仍然坚持我认为只是一段简单的代码。

当2个切换按钮状态更改为“开”时,请等待几秒钟并将其状态切换为关闭状态。两个按钮都有textOn =" On"和textOff ="关"。以下代码放在OnClickListeners中,用于tbToggle1和tbToggle2。

  tbToggle1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (tbToggle1.isChecked() & tbToggle2.isChecked()) {
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                tbToggle1.setChecked(false);
                tbToggle2.setChecked(false);
            }
  });

按下tbToggle1(它变为" On")然后按tbToggle2-两个按钮都将状态改为" Off" 3秒后我需要tbToggle2才能更改为" On"在更改为"关闭"。

之前的3秒

是UI线程问题还是什么?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您正在UI线程上调用Thread.sleep,这绝不是一个好主意。

试试这个:

tbToggle1.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        if (tbToggle1.isChecked() & tbToggle2.isChecked()) {
            tbTogggle1.postDelayed(new Runnable() {
                @Override
                public void run() {
                    tbToggle1.setChecked(false);
                    tbToggle2.setChecked(false);
                }
            }, 3000);
        }
});