Android expandablelistview ,在4.2上正常运行,在2.3.3上点击了groupview的一项却展开另外一项,在4.2上正常运行有人说是索引乱了,请问我该怎么解决啊,跪求大神。
1条回答 默认 最新
你知我知皆知 2024-08-02 09:46关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
我遇到过类似的问题,是由于expandableListView的子项中没有正确设置数据。你可以在expandableListView中添加一个监听器,当子项被选中时,你可以检查它是否与当前选中的子项相同,如果是,则将当前选中的子项设置为null。这样,即使用户在不同的子项之间进行切换,expandableListView也不会出现错误。以下是一个简单的示例:
ExpandableListAdapter adapter = ((ExpandableListAdapter) list.getAdapter()); adapter.setOnGroupClickListener(new OnGroupClickListener() { @Override public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { // Check if the clicked item is the same as the current selection for (int i = 0; i < parent.getChildCount(); i++) { ExpandableListViewChild child = (ExpandableListViewChild) parent.getChildAt(i); if (child != null && child.getItem().equals(adapter.getGroup(groupPosition))) { adapter.setExpanded(groupPosition, false); return true; } } return false; } });这个方法会遍历所有的子项,并检查它们是否与当前选中的子项相同。如果相同,那么就将其设置为未展开状态。这应该可以避免你在不同的子项之间进行切换时expandableListView出现问题。
解决 无用评论 打赏 举报