使用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);


结果真的可行!

转自:http://gundumw100.iteye.com/blog/1165673

更多相关文章

  1. Android(安卓)UI 之自定义标题栏 + 沉浸式状态栏
  2. ImageView的android:maxHeight,android:minHeight的正确设置
  3. Android(安卓)UI 之自定义标题栏 + 沉浸式状态栏
  4. ImageView的android:maxHeight,android:minHeight的正确设置
  5. 为什么 Android(安卓)截屏需要 root 权限
  6. Android需要复合人才
  7. Android(安卓)打包签名
  8. Android开发你需要具备的基本功
  9. android app模拟 persistent 属性可以保活且正常升级的一种方式

随机推荐

  1. 数据整合与数据清洗。
  2. 跟繁琐的命令行说拜拜!Gerapy分布式爬虫管
  3. TensorFlow layers模块用法
  4. Mybatis if, set, where 动态sql和sql片
  5. 99%的人都不知道的pandas骚操作(一)
  6. TensorFlow RNN Cell源码解析
  7. Requests库作者Kenneth Reitz的另一神作!
  8. TensorFlow Bi-LSTM实现文本分词
  9. JavaScript加密逻辑分析与Python模拟执行
  10. 关于互联网金融授信产品的风控建模