先是项目中经常用到点击listview,然后展开Item的内容。我将这种需求分为两种:
- Item的内容是一个布局(不是listview)
- Item的内容是一个listview(或者listview类似能够滑动的控件
今天先介绍一下listview的Item内容是一个布局,第二种后期我在写文章介绍。好了,进入正题。先看下我的思路:我们可以监听一下listview的点击事件,然后记录下position,然后在该数据的Bean中设置一个flug(1:展开?2:不展开),然后刷新adapter。在adapter中,我们根据Bean中的flug,判断Item的布局是否显示。
接下来这个例子是这样的:有一个Person对象,有name,age属性,点击name,显示age,然后再点击name,age不显示。
不多说,先附上效果图。
直接上代码。
首先是XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/one_click_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"></ListView>
</LinearLayout>
这是listview Item 的布局