当我使用switch2或其他任何Toast.maketext连续显示“ Light 1现在打开...”或“ Light 1现在关闭”时,if else语句或HTTPRequestTasks是否有问题?我正在尝试使用此应用程序访问NodeMCU。我可以通过输入URL来通过Web浏览器控制NodeMCU,但是在应用程序中它卡在switch1上。以下是此应用程序的Java代码:
dispatch:
- url: "example.com/"
service: default
- url: "beta.example.com/"
service: beta
答案 0 :(得分:0)
请注意:
if (switch1.isChecked()) {
和
else if (!switch1.isChecked()) {
这两个条件表示中包括所有可能的条件!
switch1.isChecked()
等于ture
或flase
,所以
Toast.makeText(BedRoom1Activity.this, "Light 1 is now Turned On...", Toast.LENGTH_SHORT).show();
确定执行!和其他分支被省略。
您可以编写if和elseif来判断每个切换状态。例如:
if (switch1.isChecked()) {
}else{
}
if (switch2.isChecked()) {
}else{
}
已编辑 您设置了多个CompoundButton侦听器,因此可以首先检查哪个状态已更改,如下所示:
switch (compoundButton.getId()) {
case R.id.switch1:
if (switch1.isChecked()) {
}else{
}
break;
case R.id.switch2:
break;
}
.....