8

我刚刚尝试了当前的 Google 示例ExpandableListiew

这个示例看起来非常简单易用,但我想说的是其中一个类别没有孩子。我删除了所有孩子,但问题是箭头仍然出现在当前行上。

例如,假设我删除了所有"Cat Names",箭头仍然存在,当我点击它时,箭头只是改变了。如何删除此箭头并改为启动活动?

4

2 回答 2

12

如果您谈论的是用于折叠/展开列表的箭头,那么您可以使用 setGroupIndicator() 将其删除

在活动中你可以打电话

getExpandableListView().setGroupIndicator(null);

这将永久删除箭头。如果您只想在列表为空时隐藏它,您可以通过这样的 xml 属性来实现

要在列表展开/折叠时启动活动,您可以在 ListAdapter 实现中覆盖 onGroupExpanded(或折叠)并使用它来启动您的活动

于 2011-05-04T04:18:58.457 回答
2

一般来说,如果您希望在您从另一个活动回来时刷新活动的特定区域;你必须写在 onResume() 方法中。

步骤: 1 – 在要刷新的 Activity 中,覆盖 onResume() 方法:

@Override
protected void onResume() {
    super.onResume();
    // TODO: PUT YOUR REFRESH CODE IN HERE
}

2- 您将需要刷新您的可扩展适配器。

我建议您使用与实例化可扩展列表相同的代码并重新放置,如下所示:

SimpleExpandableListAdapter expandableListAdapter =
    new SimpleExpandableListAdapter(
        this,
        YourPrentsList, // List of your parent 
        R.layout.parents_layout,    // Layout for the Parents
        new String[] { "groupKey" },    // Key in the Group Data maps to display
        new int[] { 1 },        
        childrenList,   // List of the children
        R.layout.childs_layout, // Layout of the children
        new String[] { "keys"}, 
        new int[] { 1}  
    );
setListAdapter( expandableListAdapter );

我希望这能解决您的问题...谢谢,

穆罕默德。

于 2010-12-27T01:24:14.517 回答