我想激活被禁用的按钮tglBtnLevel1, tglBtnLevel2, tglBtnLevel3…从1到用方法接收到的整数。
他们唯一的方法我实现它是使用开关情况,但我想一定有一种方法使用循环。我已经尝试了For循环,但我找不到在"tglBtnLevel(I). setenabled (true)&"行中包含计数器(I)的方法。
我将感谢你的任何提示或帮助。这是我用来使它工作的开关箱的开始,但只有第一个按钮,还有更多:private void checkEnabledLevels(){
switch (d.sendPlayerStats().getWeekTournamentLevel()){
case 1:
tglBtnLevel1.setEnabled(true);
break;
case 2:
tglBtnLevel1.setEnabled(true);
tglBtnLevel2.setEnabled(true);
break;
case 3:
glBtnLevel1.setEnabled(true);
tglBtnLevel2.setEnabled(true);
tglBtnLevel3.setEnabled(true);
break;
case 4:
glBtnLevel1.setEnabled(true);
tglBtnLevel2.setEnabled(true);
tglBtnLevel3.setEnabled(true);
tglBtnLevel4.setEnabled(true);
break;
这样做的一种方法是将所有按钮放在一个数组这样的:
Button[] buttonArray = {tglBtnLevel1, tglBtnLevel2, tglBtnLevel3, tglBtnLevel4}
然后根据你得到的比赛级别对它们进行迭代:
int tournamentLevel = d.sendPlayerStats().getWeekTournamentLevel()
for (int i = 0; i < tournamentLevel; i++) {
buttonArray[i].setEnabled(true);
}
一种稍微不同但简单的方法可以这样做:
int tournamentLevel = d.sendPlayerStats().getWeekTournamentLevel()
tglBtnLevel1.setEnabled(tournamentLevel <= 1);
tglBtnLevel2.setEnabled(tournamentLevel <= 2);
tglBtnLevel3.setEnabled(tournamentLevel <= 3);
tglBtnLevel4.setEnabled(tournamentLevel <= 4);