android - 当我们在 ListView 中点击它时如何展开列表行

标签 android listview

在我的应用程序中,我有一个带有一些 TextView 和 ImageView 的自定义 ListView ,如下图所示。 enter image description here

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

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

最佳答案

您正在寻找ExpandableListView .

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

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

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

为了让唯一的 child 在特定时间展开,添加这个,

explist.setOnGroupExpandListener(new OnGroupExpandListener() {

    public void onGroupExpand(int groupPosition) {


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

});

关于android - 当我们在 ListView 中点击它时如何展开列表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613453/

相关文章:

android - Listview 只显示列表中的一行

java - ListView 未显示/出现 android studio

Android Context Memory Leak ListView 由于 AudioManager

android - 检测哪个电话号码可以发送短信

java - 跟着 picasso 一起画画

android - 如果在屏幕上的任何位置单击,Unity 调用 3d 文本上的触摸功能。而不是只点击文字

android - arrayAdapter getView 方法中的监听器

android - 无法在 Samsung Epic 4G 上测试我的 Android 应用程序,因为 adb 看不到它

android - 如何在授予公共(public)访问权限的情况下将文件上传到 AWS S3?

android - 如何将两个数据库表中的数据合并到一个 listView 中