【发布时间】:2018-10-10 21:38:42
【问题描述】:
我有一个超过或等于 2 个组的 ExpandableListView。在这些组中,很少有带有单选按钮的项目。因此,当我从一组中选择一个单选按钮时,不应选择另一组中的其他按钮。
以下代码有助于使单选按钮作为单选组工作。
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.attribute_expanable_child_item, null);
}
RadioButton mRadioButton = convertView.findViewById(R.id.radio_option);
mRadioButton.setVisibility(View.VISIBLE);
mRadioButton.setText(mItem.getAttributeName());
mRadioButton.setChecked(childPosition == selectedPosition);
mRadioButton.setTag(childPosition);
mRadioButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectedPosition = (Integer) view.getTag();
notifyDataSetChanged();
}
});
}
现在,如果我从一个组中选择一个项目,另一个组中的另一个项目会在同一位置被选中!我知道我应该将选定的位置保存在一个数组中,但我不知道如何。 那么,我应该如何为 ExpandableListView 中的多个组实现这一点?
【问题讨论】:
-
请贴出适配器的构造函数。
标签: android listview radio-button expandablelistview expandablelistadapter