ListView的多布局
ListView的展开和收起是在上一篇ListView的多布局的基本上写,整体布局只有一个ListView。
今天、昨天、一周内、更早最多只有一个是展开的状态,默认展开的是今天。
当点击今天时,则今天合并,即此时所有的都是合并状态;再次点击今天时,则今天展开;
当点击其他图片时,今天合并,则被点击的展开。
实现效果:
一、实现思路
1、ListView的状态,ListView只有都合并和某一个打开2种状态。
2、当本次点击的上一次点击的是同一张图片时,若当前处于合并状态则展开,若当前处于展开状态则合并;
当本次点击的和上次点击的图片不同时,则本次点击的图片展开,上次点击的图片则要处于合并状态。
因此,我定义了3个变量boolean isopen用于记录当前的状态,展开还是合并,
int last_click上次点击的图片,int cur_click本次点击的图片。
二、代码实现
XML代码:
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
android:listSelector="#0000"
android:scrollbars="none" />
Activity代码:
public class ListViewActivity extends Activity {
private List<List<Object>> list;
private List<Object> data;
private ListViewAdapter adapter;
private ListView listView;
private int last_click;
private boolean isopen;
private int[] image = {
R.mipmap.ic_today_gaokao,
R.mipmap.ic_yesterday,
R.mipmap.ic_week,
R.mipmap.ic_earlier
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_view);
init();
loadData();
}
privat