0

我是安卓新手。

我有一个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));
    }

}

如何在重绘列表之后放置我的方法?任何的想法?

4

1 回答 1

0

因为当Android“重绘列表”时,它会调用getChildView()你的ExpandableListAdapter,你需要把你的高亮代码放在getChildView().

于 2013-01-23T13:40:10.977 回答