切换按钮状态不变
Toggle buttons state not changing
对于 nOOb 很抱歉,但我坚持我认为是一段简单的代码。
当 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(变为 "On")然后按下 tbToggle2 - 两个按钮的状态在 3 秒后变为 "Off"。在更改为 "Off".
之前,我需要 tbToggle2 更改为 "On" 3 秒
是 UI 线程问题还是什么?谢谢你的帮助。
您正在 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);
}
});
对于 nOOb 很抱歉,但我坚持我认为是一段简单的代码。
当 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(变为 "On")然后按下 tbToggle2 - 两个按钮的状态在 3 秒后变为 "Off"。在更改为 "Off".
之前,我需要 tbToggle2 更改为 "On" 3 秒是 UI 线程问题还是什么?谢谢你的帮助。
您正在 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);
}
});