博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView中动态显示和隐藏Header&Footer
阅读量:5361 次
发布时间:2019-06-15

本文共 1724 字,大约阅读时间需要 5 分钟。

ListView的模板写法

ListView模板写法的完整代码:

以后每写一个ListView,就这么做:直接导入ViewHolder.javaListViewAdapter,然后写一个自定义adapter继承自ListViewAdapter就行了。

ListView中动态显示和隐藏Header&Footer

如果需要动态的显示和隐藏footer的话,按照惯例,误以为直接通过setVisibility中的View.GONE就可以实现。但是在实际使用中发现并不是这样的。

例如,先加载footer布局:

private View mFooter;mFooter = LayoutInflater.from(this).inflate(R.layout.footer, null);  //加载footer的布局mListView.addFooterView(mFooter);

如果想动态隐藏这个footer,惯性思维是直接设置footer为gone:(其实这样做是不对的)

mFooter.setVisibility(View.GONE);  //隐藏footer

实际上,直接设置GONE后,虽然元素是隐藏了,但是还是占用着那个区域,此时和View.INVISIBILE效果一样。

footer的正确使用方法如下:

1、方法一:

(1)布局文件:在footer布局文件的最外层再套一层LinearLayout/RelativeLayout,我们称为footerParent。

layout_footer_listview.xml:(完整版代码)

(2)加载footer和footerParent的布局:

private View mFooter; //footerprivate View mFooterParent;  //footer的最外面再套一层LinearLayoutmFooterParent = LayoutInflater.from(getActivity()).inflate(R.layout.footerparent_listview, null);//加载footerParent布局mFooter = mFooterParent.findViewById(R.id.footer);listView.addFooterView(mFooterParent);  //把footerParent放到ListView当中mFooterParent.setOnClickListener(MainActivity.this); //绑定监听事件,点击查看全部列表

(3)设置footer为gone:(不是设置footerParent为gone)

mFooter.setVisibility(View.GONE);

2、方法二:或者直接在代码中为footer添加footerParent也可以,如下:

private View mFooter; //footermFooter = LayoutInflater.from(getActivity()).inflate(R.layout.footer_listview, null);//加载footer布局LinearLayout mFooterParent = new LinearLayout(context);  mFooterParent.addView(mFooter);//在footer的最外面再套一层LinearLayout(即footerParent)listView.addFooterView(mFooterParent);//把footerParent放到ListView当中

当需要隐藏footer的时候,设置footer为gone:(不是设置footerParent为gone)

mFooter.setVisibility(View.GONE);

转载于:https://www.cnblogs.com/qianguyihao/p/5810471.html

你可能感兴趣的文章
安全-分析深圳电信的新型HTTP劫持方式
查看>>
将Centos的yum源更换为国内的阿里云源
查看>>
git diff 的用法
查看>>
一段sql的优化
查看>>
十进制与十六进制的相互转换
查看>>
在Flex中用Validator检测数字、字符串、Email.
查看>>
[leetcode]4Sum
查看>>
POJ1062 昂贵的聘礼
查看>>
【零基础学习iOS开发】【02-C语言】08-基本运算
查看>>
Java 将指定字符串连接到此字符串的结尾 concat()
查看>>
Hibernate Criterion
查看>>
Python知识
查看>>
我们为什么要搞长沙.NET技术社区(三)
查看>>
杭电acm Cake
查看>>
js函数中this的指向
查看>>
c++ 引用方式传递数组
查看>>
HBase学习之路 (九)HBase phoenix的使用
查看>>
LeetCode() Remove Duplicates from Sorted Array II
查看>>
【svn】idea svn 文件上会出现一个破书
查看>>
cocos2d-x 3.0 场景切换特效汇总(转)
查看>>