xmlファイルoptions.xml 私はAlertDialogの作成にこれを使用しています。また、AlertDialogにDoneボタンを追加しました。 完了ボタンを押すと、onClickメソッドが呼び出されます。ただし、[完了]をクリックする前にどのRadioButtonをチェックしても、最初のRadioButtonはチェックされ、他のラジオボタンはチェックされません。 私は、実際の実行時の値ではなくxmlの値を読んでいると思いますか?次に、実際の実行時の値をどのように読み取るのですか?RadioButtonの状態を読み取る方法
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();
}
編集:私は「感謝を使用した溶液は、私は2番目のオプションをチェックしませんでしたが、私はAlertDialogがfindViewByIdを持っており、それは、ダイアログを作成した後に(する必要はないことを呼び出すだけの問題であることがわかりました。 onCreateや他の特別な関数の中で実行されます)ダイアログボックスでshow()を呼び出した後にfindViewByIdを呼び出すだけで十分ですが、それ以外の場合は動作しません。
ありがとう、私は2番目のオプションを確認しませんでしたが、AlertDialogがfindViewByIdを持っていることが判明しました。 (onCreateやその他の特別な関数の内部で行う必要はありません)。 ダイアログのshow()を呼び出した後にfindViewByIdを呼び出すだけで十分です。そうでない場合は、動作しません。 – user1097185