当我们在listview中点击列表行时,如何扩展列表行

时间:2012-05-16 06:56:19

标签: android listview

在我的应用程序中,我有一个自定义列表视图,其中包含一些文本视图和图像视图,如下图所示。 enter image description here

我的要求是,当我们点击列表行时,它应该展开,当再次点击它或点击任何其他行时它应该崩溃。扩展行应该是这样的 enter image description here

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

1 个答案:

答案 0 :(得分:10)

您正在寻找ExpandableListView

可扩展ListView bydefault有两个级别。第一个称为“组视图”,第二个级别称为“子视图”。您可以通过使用我提供的第一个链接上的Custom Adapter样本来实现。

这里有一些链接可以帮助你入门,

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

});