2つのラジオボタンのラジオグループがあります。最初のラジオボタンを選択すると、ラジオグループの下にテキストが表示されます。ユーザーが2番目のラジオボタンを選択すると、同じエリアに異なるメッセージが表示されます。トーストでこれを行うのは本当に簡単ですが、私はトーストメッセージでそれをしたくありません。ラジオボタンをクリックしたときにテキストを表示する方法は?
public void onActivityCreated (Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Button rb1 = (Button) getActivity().findViewById(R.id.radioButton1);
Button rb2 = (Button) getActivity().findViewById(R.id.radioButton2);
rb1.setOnClickListener(next_Listener);
rb2.setOnClickListener(next_Listener);
}
private OnClickListener next_Listener = new OnClickListener() {
public void onClick(View v) {
RadioGroup radio_grp=(RadioGroup)getActivity().findViewById(R.id.radio_grp);
RadioButton rb1=(RadioButton)getActivity().findViewById(R.id.radioButton1);
RadioButton rb2=(RadioButton)getActivity().findViewById(R.id.radioButton1);
if(rb1.isChecked() == true) {
// display text if they click 1st button
}
if (rb2.isChecked()) == true {
// display text if they click 2nd button
}
}
}
私は 'rb1.setOnClickListener(button1Listener);でjava.lang.NullPointerExceptionを取得し続けます。 rb2.setOnClickListener(button2Listener); ' –
エラー/ Stacktraceを表示できますか? ここでNullPointerExceptionが発生している場合は、rb1.setOnClickListener(button1Listener);これは、rb1がnullの可能性が最も高いことを意味します。つまり、 RadioButton rb1 =(RadioButton)getActivity()。findViewById(R.id.radioButton1); radioButton1はレイアウト内のボタンのIDですか? –
あなたのコードを修正するのを忘れてしまった細かいディテールがありました。編集を確認します。 RadioGroupと各RadioButtonはFragmentレイアウト内にありますか? –