我在我的應用程序和子視圖中使用可展開的列表視圖,我使用的是單選按鈕的自定義列表。這裏的問題是我想確保一次只能選擇一個單選按鈕。如果一個單選按鈕被選中,其他應deselected.This是我使用的代碼:我搜索了很多如何確保在android的可展開列表視圖的childview中只選擇單個單選按鈕?
@Override
public View getChildView(int groupPosition,int childPosition,
boolean isLastChild, View convertView, ViewGroup parent)
{
m_position = childPosition;
View l_view = convertView;
if (l_view == null)
{
LayoutInflater l_vi = (LayoutInflater)m_context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
l_view = l_vi.inflate(R.layout.singleradiobutton, null);
ViewHolder viewHolder = new ViewHolder();
viewHolder.l_nameRadioButton = (RadioButton) l_view.findViewById(R.id.radioButton);
l_view.setTag(viewHolder);
}
EnteringValuesToArrayList l_enteringValuesInstance = m_itemsOfAdapterArrayList.get(childPosition);
String l_nameOfContact = l_enteringValuesInstance.GetNameOfEntry();
if (l_nameOfContact != null)
{
ViewHolder holder = (ViewHolder) l_view.getTag();
if (holder.l_nameRadioButton != null)
{
holder.l_nameRadioButton.setText(l_nameOfContact);
}
if(m_timerValue != 0 && l_enteringValuesInstance.GetTimerValueOfEntry() == m_timerValue)
holder.l_nameRadioButton.setChecked(true);
else
holder.l_nameRadioButton.setChecked(false);
holder.l_nameRadioButton.setOnClickListener(new OnItemClickListener(childPosition,holder.l_nameRadioButton.getText(),holder.l_nameRadioButton));
}
return l_view;
}
private class OnItemClickListener implements OnClickListener
{
private int l_positionOfItemClicked;
private CharSequence l_text;
private RadioButton l_radioButton;
OnItemClickListener(int position, CharSequence text,RadioButton l_nameRadioButton)
{
this.l_positionOfItemClicked = position;
this.l_text = text;
this.l_radioButton = l_nameRadioButton;
}
@Override
public void onClick(View arg0)
{
l_radioButton.setChecked(true);
}
}
,但沒有得到problem.Please幫助me.Thanks的解決方案提前。
使用RadioGroup http://developer.android.com/reference/android/widget/RadioGroup.html – Simon
如何在可擴展列表視圖的自定義子視圖中使用廣播組? – user1726619