ListView的模板写法

ListView模板写法的完整代码:

•android代码优化----ListView中自定义adapter的封装(ListView的模板写法)

以后每写一个ListView,就这么做:直接导入ViewHolder.java和ListViewAdapter,然后写一个自定义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:(完整版代码)<?xml version="1.0" encoding="utf-8"?>

(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);

以上所述是小编给大家介绍的Android ListView中动态显示和隐藏Header&Footer的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多相关文章

  1. [转]五大布局对象---FrameLayout,LinearLayout ,AbsoluteLayout,
  2. Android培训班(45)
  3. Android(安卓)- SharedPreferences共享数据的相同Context
  4. Android:通过build gradle中的buildTypes设置自动log开关(二)
  5. android隐藏View动画的注意事项
  6. Android版本适配(基于 6.0 ~ 9.0)
  7. Android调用系统相册和相机选择图片并显示在imageview中
  8. Android动态换肤(一、应用内置多套皮肤)
  9. [置顶] android下调试声卡驱动之wm8960介绍一

随机推荐

  1. 利用keepalived构建高可用MySQL-HA
  2. MySQL表格查询基本语句2
  3. 组织这种结构的最佳方式?
  4. mysql添加外键语句
  5. lucene 4.10 检索mysql数据库
  6. mysql必知必会 - LIMIT
  7. 高级MySQL:查找轮询响应之间的相关性
  8. mysql 根据select结果进行循环操作,并写入
  9. Linux下,配置WordPress时出现“您的PHP似
  10. MySQL可视化软件Work Bench导出导入数据