【问题标题】:Toggle buttons state not changing切换按钮状态不变
【发布时间】:2016-10-28 20:42:03
【问题描述】:

对不起,nOOb 'ness,但我坚持我认为是一段简单的代码。

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

  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(它变为“开”)然后按下 tbToggle2 后,两个按钮的状态都会在 3 秒后变为“关”。我需要将 tbToggle2 更改为“开”3 秒,然后再更改为“关”。

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

【问题讨论】:

    标签: android togglebutton


    【解决方案1】:

    您在 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);
            }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多