Не устанавливается значение AtomicInteger
Хочу задать действия для массива кнопок через switch/case, но по сколько через лямбду при выборе кнопки нельзя задать значение для int переменной, чтоб потом обратиться к массиву. Поэтому устанавливаю через AtomicInteger, код ниже.
Установка числа:
AtomicInteger e = new AtomicInteger(0);
button_1.setOnClickListener(view -> e.set(0));
button_2.setOnClickListener(view -> e.set(1));
Действие через switch/case
switch(views.get(e.get())){
case(R.id.button_1):{
// действие
break;
}
case(R.id.button_2):{
//действие
break;
}
}
Ну и массив кнопок, если это поможет
ArrayList<Integer> views = new ArrayList<>();
views.add(R.id.button_1);
views.add(R.id.button_2);
Изначально, как и нужно выбрана первая кнопка, но когда нажимаю на вторую, выбрана всё ещё первая. Как можно решить проблему?
Источник: Stack Overflow на русском