为什么OnGroupClick重绘可扩展列表

时间:2013-01-23 12:07:07

标签: android expandablelistview selecteditem

我是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));
    }

}

如何在重绘列表后立即放置我的方法?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

当Android"重新绘制列表"时,它会在getChildView()上调用ExpandableListAdapter,您需要将突出显示的代码放在getChildView()中。