У меня есть XML-файл с именем options.xml
Я использую его для создания моего AlertDialog. Я также добавил кнопку Готово для AlertDialog.
При нажатии кнопки «Готово» вызывается метод onClick, приведенный ниже. Однако независимо от того, какую кнопку RadioButton я проверил перед нажатием кнопки «Готово», я всегда получаю первую кнопку RadioButton как отмеченную, а остальные - как непроверенную.
Я предполагаю, что то, что я делаю ниже, просто читает значения XML, а не фактические значения времени выполнения? Тогда как мне прочитать реальные значения времени выполнения?
public void onClick(DialogInterface arg0, int arg1) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE) ;
View layout = inflater.inflate(R.layout.options, null);
RadioButton a1 = (RadioButton)layout.findViewById(R.id.radio0);
RadioButton a2= (RadioButton)layout.findViewById(R.id.radio1);
RadioButton a3 = (RadioButton)layout.findViewById(R.id.radio2);
RadioButton a4 = (RadioButton)layout.findViewById(R.id.radio3);
boolean b1 = a1.isChecked();
boolean b2 = a2.isChecked();
boolean b3 = a3.isChecked();
boolean b4 = a4.isChecked();
}
РЕДАКТИРОВАТЬ: Решение, которое я использовал "Спасибо, я не проверял второй вариант, но я обнаружил, что AlertDialog имеет findViewById, и это было просто вопрос вызова после создания диалога. (Не нужно делать внутри onCreate или любая другая специальная функция). Вам просто нужно помнить, что нужно вызывать findViewById после того, как вы вызвали show () для диалога, в противном случае он не будет работать "