我是Android新手。
我有ExpandableListView
,我设法突出显示(持久)所选项目/子项。但是当我单击/触摸该组时,突出显示的项目会消失,看起来列表已经重新绘制。在onGroupClick
中,我尝试突出显示突出显示的项目,但即使这样,它也会重新绘制列表。
@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// TODO keepSelectedModuleHighlited. Right now its not working.
if (parent.isGroupExpanded(groupPosition)) {
parent.collapseGroup(groupPosition);
} else {
parent.expandGroup(groupPosition);
}
keepSelectedModuleHighlited();
return true;
}
方法:keepSelectedModuleHighlited
private void keepSelectedModuleHighlited() {
if (lastSelectedView != null && lastSelectedDrawble != null) {
lastSelectedView.setBackgroundDrawable(this.getResources()
.getDrawable(R.drawable.module_selected));
}
}
如何在重绘列表后立即放置我的方法?有什么想法吗?
答案 0 :(得分:0)
当Android"重新绘制列表"时,它会在getChildView()
上调用ExpandableListAdapter
,您需要将突出显示的代码放在getChildView()
中。