我有一個自定義視圖,其中包含一個RadioButton視圖。使用單選按鈕添加自定義視圖到廣播組
的SingleRadioItem:
public class SingleRadioItem extends LinearLayout {
private TextView mTextKey;
private RadioButton mRadioButton;
private ImageView mImageSeparator;
public SingleRadioItem(Context context, AttributeSet attrs) {
super(context, attrs);
View view = LayoutInflater.from(context).inflate(R.layout.rtl_single_radio_item, this, true);
mTextKey = (TextView)view.findViewById(R.id.single_radio_item_text_key);
mRadioButton = (RadioButton)view.findViewById(R.id.single_radio_item_button);
mImageSeparator = (ImageView)view.findViewById(R.id.single_image_separator);
}
public void setKey(String key) {
mTextKey.setText(key);
}
public boolean getSelectedState() {
return mRadioButton.isSelected();
}
public void setSelectedState(boolean selected) {
mRadioButton.setSelected(selected);
}
}
我要創造這種觀點的情況下,將其添加到RadioGroup中和RadioGroup中添加到LinearLayout中。 當我這樣做,它允許作爲選擇的,這意味着,在RadioGroup中有點問題我來設置所有單選按鈕(可能是因爲我是怎麼做的..)
RadioGroup radioGroup = new RadioGroup(this);
radioGroup.setOrientation(RadioGroup.VERTICAL);
SingleRadioItem radio1 = new SingleRadioItem(this, null);
SingleRadioItem radio2 = new SingleRadioItem(this, null);
radioGroup.addView(radio1);
radioGroup.addView(radio2);
updateDetailsView.addView(radioGroup);
顯然,當我添加RadioGroup運作良好。
它甚至可以添加一個視圖,它擁有一個單選按鈕到一個radiogroup,我只是缺少一些東西或根本不可能?
謝謝!
SOLUTION: 延長@cosmincalistru答案和幫助他人:
因爲我加入的LinearLayout我重視這樣的監聽器每個SingleRadioItem:
radio1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (lastRadioChecked != null) {
lastRadioChecked.setCheckedState(false);
}
lastRadioChecked = (SingleRadioItem)v;
lastRadioChecked.setCheckedState(true);
}
});
您還需要設置SingleRadioItem XML中的RadioButton View可點擊:false。