Я работаю в Android, пытаясь установить OnClickListeners 10 кнопок. Я могу получить код для работы, как я хочу, чтобы, если я выписывать действие каждого баттона в операторе переключателя, но это большая работа для всего крошечного изменения в каждой из них. Есть ли способ использовать цикл для итерации по случаям переключения?коммутатор Заявление в Android OnClickListener
Приведенный ниже код не будет компилироваться, ошибка в «случае я» говорит «случай выражения должны быть константными выражениями».
private OnClickListener buttonListener = new OnClickListener() {
@Override
public void onClick(final View v) {
for(int i = 0; i < 10; i++) {
switch(v.getId()) {
case i:
for(int j = 0; j < numberOfPlayers; j++) {
if(playersArray[j].isChecked()) {
playerScores[j] += i;
playersArray[j].setScore(Integer.toString(playerScores[i]));
}
}
}
}
}
};
и этот код, что я пытаюсь делать, чтобы избежать, но все-таки будет компилировать и работать правильно:
private OnClickListener buttonListener = new OnClickListener() {
@Override
public void onClick(final View v) {
switch(v.getId()) {
case 0:
for(int i = 0; i < numberOfPlayers; i++) {
if(playersArray[i].isChecked()) {
playerScores[i] += possibleValue[0];
playersArray[i].setScore(Integer.toString(playerScores[i]));
}
}
break;
case 1:
for(int i = 0; i < numberOfPlayers; i++) {
if(playersArray[i].isChecked()) {
playerScores[i] += possibleValue[1];
playersArray[i].setScore(Integer.toString(playerScores[i]));
}
}
break;
case ... :
}
}
};
Это последнее, именно то, что я искал, большое вам спасибо! – cjbrooks12