代码之家  ›  专栏  ›  技术社区  ›  Waza_Be

来自Google的ExpandableListView示例

  •  8
  • Waza_Be  · 技术社区  · 14 年前

    ExpandableListiew

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

    “猫名” ,箭头仍然在那里,当我点击它时,箭头就改变了。如何删除此箭头并启动活动?

    2 回复  |  直到 12 年前
        1
  •  12
  •   Community noseratio    7 年前

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

    在活动中您可以调用

    getExpandableListView().setGroupIndicator(null);
    

    但这将永久地移除箭头。如果只想在列表为空时隐藏它,可以通过如下xml属性来实现 this

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

        2
  •  2
  •   Mohamed A.Karim    14 年前

    一般来说,如果你想在你从另一个活动回来时刷新你活动的某个特定区域;你得写onResume()方法。

    1在要刷新的活动中,重写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 );
    

    我希望这能解决你的问题。。。 谢谢,

    穆罕默德。