Выбирая ответ всего из 4 пунктов возможных ответов, выглядит однообразно.
Как сделать так: ответив на первый вопрос, в следующем варианте был выбор всего из 2-х пунктов ответа?
@Override
public void onClick(View v) {
//ПРОВЕРКА Если ответ не выбран выводим сообщение "Выберете ответ"
if (radio_g.getCheckedRadioButtonId() == -1) {
//ПРОВЕРКА Если нажата Radio кнопка без выбора ответа, то выводим сообщение о просьбе выбрать ответ
Toast.makeText(getApplicationContext(), "Выберете ответ", Toast.LENGTH_SHORT).show();
return;
}
//Получаем даннеы о нажатой RadioButton. Помещаем в переменную ansText.То есть выбранный индекс из массива opt
RadioButton uans = (RadioButton) findViewById(radio_g.getCheckedRadioButtonId());
String ansText = uans.getText().toString();//В переменную ansText помещаем
//Toast.makeText(getApplicationContext(), ansText, Toast.LENGTH_SHORT).show();
if (ansText.equals(answers[flag])) {
correct++;
//Toast.makeText(getApplicationContext(), "Верно", Toast.LENGTH_SHORT).show();
}else {
wrong++;
//Toast.makeText(getApplicationContext(), "Не верно", Toast.LENGTH_LONG).show();
}
flag++;// Переменная Флаг увеличиваеться на 1 с каждым нажатием кнопки
if (score != null)
score.setText("" + correct);
if (flag < questions.length) {
tv.setText(questions[flag]);// Массиву questions передается значение переменной flag+1, после чего происходит выборка из массива индексов(Данных) при каждом щелчке кнопки
rb1.setText(opt[flag * 4]);//Массиву opt передается значение переменной flag+1, после чего происходит выборка из массива индексов(Данных) при каждом щелчке кнопки, и умножает на 4 для выбора нужного индекса
rb2.setText(opt[flag * 4 + 1]);//+ 1 Cмещение на необходимый индекс в массиве opt
rb3.setText(opt[flag * 4 + 2]);
rb4.setText(opt[flag * 4 + 3]);
}else {
Intent in = new Intent(getApplicationContext(),ResultActivity.class);
startActivity(in);
}
radio_g.clearCheck();//Обновление зажатой Radio кнопки
}