Доброго дня!
Имеем: 6 Button, 1 ToggleButton, 1 TextView, и массив Array.
При нажатии одной из 6 кнопок, в TextView показывается информация.
Если перевести ToggleButton в значение true, при нажатии на эти же 6 кнопок будет выходит противоположная информация.
Все данные для TextView берутся из массива.
Теперь столкнулся с такой проблемой. Я нажимаю кнопку (например btnP) и в TextView выходит текст. После этого я нажимаю на ToggleButton и на экране ничего не происходит. Потом я снова нажимаю на эту же btnP и выводится другая информация.
Как сделать так, что бы при нажатии ToggleButton информация уже показанная в TextView сразу менялась на противоположную?
Мой кодBundle extraArray = getIntent().getBundleExtra("extraArray");
ArrayList<Integer> Array = (ArrayList<Integer>) extraRunes.getSerializable("Array");
assert Array != null;
TextView.setText(Array.get(1));
iP = 1;
iL = 3;
iC = 5;
iT = 7;
iH = 9;
iW = 11;
}
@Override
public void onClick(View v) {
Bundle extraArray = getIntent().getBundleExtra("extraArray");
ArrayList<Integer> Array = (ArrayList<Integer>) extraArray.getSerializable("Array");
assert Array != null;
switch (v.getId()) {
case R.id.btnP:
TextView.setText(Array.get(iP));
break;
case R.id.btnL:
TextView.setText(Array.get(iL));
break;
case R.id.btnC:
TextView.setText(Array.get(iC));
break;
case R.id.btnT:
TextView.setText(Array.get(iT));
break;
case R.id.btnH:
TextView.setText(Array.get(iH));
break;
case R.id.btnW:
TextView.setText(Array.get(iW));
break;
}
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
boolean checked = tbFlip.isChecked();
Bundle extraArray = getIntent().getBundleExtra("extraArray");
ArrayList<Integer> Array = (ArrayList<Integer>) extraRunes.getSerializable("Array");
if (checked) {
assert Array != null;
iP = 2;
iL = 4;
iC = 6;
iT = 8;
iH = 10;
iW = 12;
} else {
assert Array != null;
iP = 1;
iL = 3;
iC = 5;
iT = 7;
iH = 9;
iW = 11;
}