私は、単一のボタンを含むレイアウトを膨らませている断片があります。私はとradiobuttons
を動的にonCreateView()
メソッドに追加しました。しかし問題はそのボタンのonclicklistener
です。チェックされているradiobutton
のテキストを取得中は、radioGroup
になりますが、nulpointerexception
が表示されます。onclicklistenerで動的に追加されるラジオボタンの参照を取得するには?
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.variant_choose,null);
Button button = (Button) v.findViewById(R.id.apply_variant_button);
LinearLayout ll = (LinearLayout) v.findViewById(R.id.layout_for_radiobuttons_in_variants);
final RadioGroup rg = new RadioGroup();
rg.setId(View.generateViewId());
rg.setOrientation(LinearLayout.HORIZONTAL);
RadioButton rb[] = new RadioButton[5];
for(int j=0;j<5;j++){
rb[j] = new RadioButton(getActivity());
rb[j].setId(View.generateViewId());
rb[j].setText(j);
rg.addView(rb[j]);
}
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
RadioButton rb1 = (RadioButton) v.findViewById(rg.getCheckedRadioButtonId());
String str1 = (String) rb1.getText();
}
});
return v;
}
ビューVは、動的にonCreateView
までradiogroup
とボタンを作成したが含まれています。しかし、後でonclicklistener
の場合はそうではありません。それはxmlファイルで定義されているボタンだけを含んでいますか?これの理由は何でしょうか?どのようにチェックされたテキストradiobutton
を得ることができますか?
IDなしのタグで作業する必要があります。 –
私はこのSOのポストを指しているかもしれません:http://stackoverflow.com/questions/8460680/how-can-i-assign-an-id-to-a-view-programmatically私はそれがあなたが少しIDを理解するのに役立つと思いますプログラマチックにそれらを実装するいくつかの方法を発見するのに役立ちます。 –