Итак, я пытаюсь сделать простую викторину, и я хочу убедиться, что пользователь отвечает на все вопросы, прежде чем перейти к следующему действию. При запуске кнопка, которую я установил, недоступна, и я хочу сделать ее доступной ТОЛЬКО, если на все вопросы был дан ответ. Я не могу понять, где и как проверить, есть ли у всего вопроса ответ.Как убедиться, что все переключатели отмечены пользователем?
public class Quiz extends Activity
{
Button buttHole;
String countryName[] = { "India", "Pakistan", "China", "Nepal", "Pichmaala", "Blah" };
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
buttHole = (Button)findViewById(R.id.button1);
buttHole.setEnabled(false);
//Creating the list of Questions
LinearLayout mLinearLayout = (LinearLayout) findViewById(R.id.linear1);
for (int i = 1; i <= 3; i++)
{
//create text button
TextView title = new TextView(this);
title.setText("Question Number:" + i);
title.setTextColor(Color.GREEN);
mLinearLayout.addView(title);
// create radio button
final RadioButton[] rb = new RadioButton[countryName.length];
RadioGroup radGr = new RadioGroup(this);
radGr.setOrientation(RadioGroup.VERTICAL);
radGr.setOnClickListener(l)
for (int j = 0; j < countryName.length; j++)
{
rb[j] = new RadioButton(this);
radGr.addView(rb[j]);
rb[j].setText(countryName[j]);
}
mLinearLayout.addView(radGr);
}
}
}
Вы должны получить выбранный переключатель для каждой группы радио, используя 'getCheckedRadioButtonId()'. Это вернет -1, если кнопка не выбрана. – nikmin
Я не знаю, что вы делаете. Но я проверяю свое второе решение. Который работает безупречно согласно вашему требованию. Это даст вам «ложь», если какой-либо из ответов на вопрос останется. И это ваш вопрос: «Я не могу понять, где и как проверить, есть ли у всего вопроса ответ». И его работа прекрасна в моем ответе. Если метод возвращает 'false', значит, более одного ответа осталось ответить. И «истина» означает, что все ответы даны. –
Хм, хорошо, это становится довольно интересной проблемой. Дай мне подумать. Где я могу вызвать метод checkQuestionsAnswer()? Я использую метод onCreate вне цикла for, это правильно? Если я не назову это, код не будет достигнут. Также я вижу, что u имеет onClickListener «l», где вы объявляете переменную «l», так как я не вижу ее объявления в предложенном вами решении. Я удалил radGr.setOnClickListener (l); поскольку он не объявлен нигде и не используется. Мне очень жаль, но эта проблема прослушивает меня весь день, и мне на нервы – user3182266