对于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线程问题还是什么?谢谢你的帮助。
答案 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);
}
});