ListView的addHeaderView(View view)

来源:互联网 发布:对撞机 知乎 编辑:程序博客网 时间:2024/05/29 17:52

为了实现Viewpaper + ListView的效果

原来想用recycleView 的clipToPadding属性实现,参考Recycleview上拉隐藏与下拉显示

后来发现这种方法会造成viewpaper失去焦点,无法点击.

然后就想到用ListView的addHeaderView去做


关于ListView的 addHeaderView(...) 方法 (来源于网络)

在代码中使用 listView .addHeaderView(...) 方法可以在ListView组件上方添加上其他组件,并且连结在一起像是一个新组件。如果多次使用 .addHeaderView(...) ,则最先添加的组件在最上方,按添加的先后顺序由上到下罗列。

 

如下图:



此时listView 的 position = 0 的位置对应的是view1,而不再是原来listView中的第一条了。

 

若要对做原来的ListView做不可见设置,可使用将listView的adapter中数据置空的方法,在可见时再还原数据,如:

--隐藏 ListView --

 mStaffAdapter.mDataList=new ArrayList<Map<String,Object>>();

 mStaffAdapter.notifyDataSetChanged();

--展开 ListView --

 mStaffAdapter.mDataList=mStaffDataList;//mStaffDataList是原来的缓存数据

 mStaffAdapter.notifyDataSetChanged();

0 0
原创粉丝点击