我有一个带有自定义适配器的 ExpandableListView。每个父级(或组)都有一个 TextView,每个子级(项目)都有一个 textview 和一个开关。我的 ChildModel 有一个字符串名称 (TextView) 和一个字符串 [] 选项(开关)。但是,我相信我的布局没有正确膨胀,因为当我展开 ListView 时,开关上的值会发生变化!这是我的代码
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inflater = (LayoutInflater)ctx.getSystemService
(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.listview_row_child, parent, false);
}
TextView itemName = (TextView) v.findViewById(R.id.itemName);
Swith itemDescr = (Switch) v.findViewById(R.id.itemDescr);
ChildModel det = catList.get(groupPosition).getItemList().get(childPosition);
itemName.setText(det.getName());
// itemDescr.setText(det.getChoices()[0] + det.getChoices()[1]);
itemDescr.setTextOff(det.getChoices()[0]);
itemDescr.setTextOn(det.getChoices()[1]);
return v;
}
我无法弄清楚的部分是,如果我将 Switch 更改为 TextView 并使用上面注释掉的行,它会正确显示。有人可以向我解释为什么吗?谢谢!
请注意,当我切换到开关时,工具栏方向现在显示“是/否”而不是“左/右”,并且我的测量单位甚至不再显示“米/英尺”