【发布时间】:2017-10-26 18:20:52
【问题描述】:
我有 3 个切换按钮,如果启用 1 个,其他 2 个将被禁用。我可以通过 if 语句来实现这一点。但是我需要为所有的切换按钮编写不同的 if。
case toggleButton1:
if(toggleButton[0].isChecked())
{
toggleButton[1].setEnabled(false);
toggleButton[2].setEnabled(false);
}
else
{
toggleButton[1].setEnabled(true);
toggleButton[2].setEnabled(true);
}
break;
case R.id.toggleButton2:
if(toggleButton[1].isChecked())
{
toggleButton[0].setEnabled(false);
toggleButton[2].setEnabled(false);
}
else
{
toggleButton[0].setEnabled(true);
toggleButton[2].setEnabled(true);
}
break;
case R.id.toggleButton3:
if(toggleButton[2].isChecked())
{
toggleButton[1].setEnabled(false);
toggleButton[0].setEnabled(false);
}
else
{
toggleButton[1].setEnabled(true);
toggleButton[0].setEnabled(true);
}
break;
如何将其归为一个方法?
编辑:
如果我尝试如下。
private void toggle(int i) {
if(i==0) {j=1,k=2} elseif(i==1) {j=0,k=2}else{j=0,k=1}
if(toggleButton[i].isChecked())
{
toggleButton[j].setEnabled(false);
toggleButton[k].setEnabled(false);
}
else
{
toggleButton[j].setEnabled(true);
toggleButton[k].setEnabled(true);
}
}
【问题讨论】:
-
这个答案可以帮助你stackoverflow.com/a/5837927/7073808
-
@UltimateDevil - 我想启用和禁用按钮,所以我没有去广播组。
-
如果你简化上述方法,我认为你必须使用 if else 语句
标签: android togglebutton android-togglebutton