我有一个从json数据动态添加radiobuttons的应用程序。我真的不知道如何找出哪些被选中。有radioButton.isSelected()
和radioGroup.getCheckedRadioButtonId()
,但由于它是动态创建的,我不能为所有对象使用名称。
有没有办法在创建时将它们添加到一个组中,然后再循环遍历所有这些组?我有多个无线电组,而不是全部,但大多数应该被检查。
我正在使用api lvl 7(2.1)而且我对此很新。请详细解释。
答案 0 :(得分:1)
您可以使用ArrayList。
ArrayList<RadioButton> radioButtons = new ArrayList<RadioButton>();
//create your new button and add it here.
radioButtons.add(radioButton);
然后,如果需要检索每个按钮,则遍历列表,使用for循环:
for (int i=0;i<radioButtons.size();i++){
RadioButton button = radioButtons.get(i);
//do what you need with the button
}
如果您需要每个RadioButton都有某些数据,那么您可以这样做:
radioButton.setTag("tag");
然后当您循环遍历循环时,可以执行button.getTag();
或者,如果您只想获得所选的一个:
RadioButton button = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId());
我想我已经涵盖了你的问题以及更多内容。如果我遗漏了任何内容或需要提供任何其他解释,请告诉我。