android - 可扩展的 ListView 或可点击的线性布局

标签 android android-layout expandablelistview

我正在尝试在下图中创建类似的东西(在绘画中创建得非常差): what i want

我只有4件,不会更多了。这些项目包含两个 TextView 。但是,当您单击一个项目时,我希望它通过三个额外的按钮展开(如项目 2)到底部。如果能有一些不错的展开动画就太好了。我不希望此列表滚动,它只需要适合我的屏幕即可。并且只能扩展一个。

我认为有两种选择,但也许我遗漏了什么。 1) 创建一个 itemlayout.xml,包含一个线性布局或包含额外按钮的东西,设置为 linearlayoutbuttoncontainer.setvisibility(View.GONE)。然后再建一个开关,关闭除被点击项以外的其他项,并将被点击项的可见性设置为可见。我想这会很容易构建,我没有预见到很多问题。但是是否可以创建动画或者只是屏幕突然变化?

2) 可扩展 ListView ,带有可扩展项中的按钮。我知道可以只扩展一个项目,方法是记住扩展的项目并再次关闭它。但是有没有可能像这样用可扩展部分的按钮呢?实际上我从来没有使用过可扩展 View 。

有人知道最好的解决方案应该是什么吗? 谢谢

最佳答案

我建议为此使用可扩展 ListView ,正如您描述的第二个选项。对于这种类型的列表,您可以使用可扩展的 ListView 适配器,如下所述:

http://developer.android.com/reference/android/widget/ExpandableListAdapter.html

这个适配器有一个 getGroupView(open/close items) 和一个 getChildView 方法,你可以在其中扩展你的布局,或者手动设置它们。如果您使用过普通的 ListView ,我相信这对您来说不会是个问题,因为它们基本上是相同的操作。

这意味着您可能应该使用包含三个按钮的 LinearLayout 来扩充您的 childView。然后,您必须通过跟踪打开了哪个项目索引来实现折叠/展开逻辑的功能。

当我第一次开始使用 exp.list View 时,我做了这个教程,我发现它很有帮助:

http://android-adda.blogspot.se/2011/06/custom-expandable-listview.html

祝你好运!

关于android - 可扩展的 ListView 或可点击的线性布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671973/

相关文章:

Android单选按钮文字加粗

android - 带有阴影的弯曲 android 工具栏

java - BaseExpandableListAdapter 的 getChildrenCount() 上出现 NullPointerException

android - 如何在 ExpandableListView 中组合子项及其标题?

android - 带有子搜索过滤器的自定义可扩展 ListView

android - 如何在android中心画一条线和一些文本?

java - 图像为空时数据未插入数据库

android - MPAndroidChart:在堆叠条形图中隐藏 0 个值标签

android - 处理自定义首选项的长值

android - 长按无法在 Android 的 Edittext 中选择文本?