7

在我的应用程序中,我有一个自定义列表视图,其中包含一些文本视图和图像视图,如下图所示。 在此处输入图像描述

我的要求是当我们点击列表行时它应该展开,当再次点击它或点击任何其他行时它应该折叠。展开的行应该是这样的 在此处输入图像描述

扩展行的内容是动态的,有时没有数据,有时更多的值。它应该看起来像第二张图片。请为此提供解决方案。

4

1 回答 1

10

您正在寻找ExpandableListView

Expandable ListView 默认有两个级别。第一层称为“组视图”,第二层称为“子视图”。您可以通过使用我提供的第一个链接中的自定义适配器示例来简单地实现。

这里有几个链接可以帮助您入门,

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/ExpandableList1.html

http://about-android.blogspot.in/2010/04/steps-to-implement-expandablelistview.html

http://www.techienjoy.com/android-expandable-list-dynamically-created-example.php

编辑 1

要使唯一的孩子在特定时间展开,请添加以下内容,

explist.setOnGroupExpandListener(new OnGroupExpandListener() {

    public void onGroupExpand(int groupPosition) {


        for(int i=0; i<myExpAdapter.getGroupCount(); i++) {
            if(i != groupPosition) {
                explist.collapseGroup(i);
            }
        }
    }

});
于 2012-05-16T06:59:36.043 回答