2011-12-31 84 views
0

我有一個應用程序,它可以動態地從json數據添加單選按鈕。我真的不知道如何找出哪些被選中。有radioButton.isSelected()radioGroup.getCheckedRadioButtonId(),但由於它是動態創建的,我不能使用所有對象的名稱。如何循環遍歷所有動態創建的單選按鈕,以及如何識別它們?

有沒有辦法在創建時將它們添加到組中,然後在所有組件中循環遍歷它們?我有多個radiogroups,並不是所有的,但大多數都應該被檢查。

我使用api lvl 7(2.1),我對此很新。請詳細解釋。

回答

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.setTag("tag"); 

,然後當你通過迭代循環,你可以做button.getTag();

或者如果你只是想得到所選的一個:

RadioButton button = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId()); 

我想我涵蓋了一切從你的問題,也許更多。如果我錯過了任何內容或需要提供任何其他解釋,請告知我們。

+0

這與http://www.devx.com/tips/Tip/13741(如何使全局變量)一起解決了它。非常感謝! – 2011-12-31 12:08:53

相關問題