使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要 
<ListView android:id="@id/android:list".../> 
<TextView android:id="@id/android:empty.../> 
当列表为空时就会自动显示TextView

但是,如果继承Activity的话,想出现上面的效果,就需要手动

<ListView android:id="@+id/list" .../> 
<TextView android:id="@+id/empty" .../>

ListView list= (ListView)findViewById(R.id.mylist); 
TextView tv= (TextView)findViewById(R.id.myempty);

list.setEmptyView(tv);

误区: 
setEmptyView(View)这个函数很有误导性,有时可能会在代码中写EmptyView,像下面这样:

TextView tv= new TextView(this); 
tv.setText("this is a empty view") 
setEmptyView(tv); 
这样是不行的。。。

但是后来我在老外的网上说下面这样是可行的,注意第4,5行:

TextView emptyView = new TextView(context);
emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
emptyView.setText(“This appears when the list is empty”);
emptyView.setVisibility(View.GONE);
((ViewGroup)list.getParent()).addView(emptyView);
list.setEmptyView(emptyView);

结果是可行的!

自定义emptyView:

reload_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:gravity="center"><TextView android:id="@+id/loadText"android:layout_width="match_parent"android:layout_height="wrap_content"android:drawablePadding="10dip"android:drawableTop="@drawable/ic_reload"android:gravity="center"android:text="没有数据,点击屏幕刷新"android:textColor="@color/gray_text"android:textSize="@dimen/font_normal"android:visibility="visible" />
</LinearLayout>

在代码中添加:

View emptyView = LayoutInflater.from(getActivity()).inflate(R.layout.reload_layout, null);((ViewGroup)mListView.getParent()).addView(emptyView);  mListView.setEmptyView(emptyView);

ic_reload.png

Android ListView之setEmptyView的问题相关推荐

  1. android ListView包含Checkbox滑动时状态改变

    题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...

  2. Android ListView 自定义背景后 滚动时的背景变黑问题

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧 ...

  3. Android listview viewholder

    2019独角兽企业重金招聘Python工程师标准>>> Android ListView ViewHolder 利用adapter中的getView的 contentView 的复用 ...

  4. Android ListView常用用法

    ListView是比较常用的控件,但一直都觉得创建ListView步骤有点繁琐,故在此总结一下,方便查阅. 程序效果是实现一个ListView,ListView里面有标题,内容和图片,并加入点击和长按 ...

  5. 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d... 作者:黄宁源 一,背景 RecyclerView是谷歌官方出的一 ...

  6. Android ListView异步加载图片乱序问题,原因分析及解决方案

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android所有系统自带的控件当中,ListView这个控件算是 ...

  7. Android ListView 圆角

    android ListView实现圆角实例教程二 Android框架浅析之锁屏(Keyguard)机制原理 http://www.eoeandroid.com/thread-181604-1-1.h ...

  8. Android listView 去掉header和footer中的分割线

    Android listView 去掉header和footer中的分割线 方法一: 在listView中加上android:headerDividersEnabled="false&quo ...

  9. android ListView布局之二(是用simpleAdapter绑定数据)

    main.xml主布局文件,代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  10. android listview 列加id,Android实战开发之ListView同一个item显示2列的实现方法

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样.当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用List ...

最新文章

  1. mysql 批量drop_MySql批量drop table
  2. 语音合成:模拟最像人类声音的系统
  3. 对Java初学者来说,到底Java有哪些高效的开源库?
  4. SilverLight入门实例(一)
  5. Oracle Q-quote delimiter Quote(q) 字符串原样输出
  6. 现代计算机应用特点,现代计算机的特点和计算机的发展
  7. 大数据相加_推动媒体融合与大数据相加发展
  8. matlab常用数学函数实验,实验二-MATLAB的数学运算基础.ppt
  9. ArcGIS制作三维地貌场景
  10. 中软防水坝 怎么卸载_卸载中软防水墙软件 | 学步园
  11. 10大名场面!Python处理办公自动化的10招!
  12. A段架构设计_隽语集(Business Thinking _1201)
  13. Windows官网直接下载正版操作系统方法
  14. 零售航母沃尔玛公布业绩:喜忧参半
  15. android qq存储方式,android(5)(模拟QQ登录,文件存储,SD卡存储,SharedPreferences存储)...
  16. 人工智能python+dlib+opencv技术10分钟实现抖音人脸变狗头详细图文教程和完整项目代码
  17. Toad 工具使用心得
  18. 三角函数专题【高阶辅导】
  19. 外包程序员面试遭HR鄙视,称:外包就是程序员的“职业污点”?
  20. Java高手是如何练成的

热门文章

  1. Mac OS X从10.7升级到Mountain Lion OS X10.8
  2. 083 conllections模块
  3. Ubuntu 11.10 下安装 JDK_6_27
  4. 获取对象属性名的方法 Object.keys() 与 Object.getOwnPropertyNames() 与 for循环
  5. java中强制类型转换
  6. 350. Intersection of Two Arrays II
  7. iOS 9 升级过程汇中白苹果 iPhone或iPad 解决方案
  8. Asp.Net MVC Web应用程序中的安全向量
  9. JavaScript—call, apply, bind 函数(20)
  10. 第一章 Shell基础知识