listview为空时,显示字符串

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


相关文章
|
9月前
|
XML Java Android开发
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
106 0
|
关系型数据库 MySQL
数据为空不能在空值上调用此方法或属性(使用组合框)
数据为空不能在空值上调用此方法或属性(使用组合框)
102 0
TextView文本尾部添加标签,支持自动换行
TextView文本尾部添加标签,支持自动换行
|
API C#
C#编程:三种方法判断文本框是否为空-9
C#编程:三种方法判断文本框是否为空-9
272 0
|
C# 索引
C# 获取listview中选中一行的值
C# 获取listview中选中一行的值
712 0
|
Android开发
ListView实现倒序显示
实现聊天列表主要依赖ListView的2个属性android:stackFromBottom和android:transcriptMode
338 0
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
467 0
【Flutter】GridView 网格布局 ( GridView.count 构造函数 | crossAxisCount 参数指定每行元素个数 )
控件setVisible为false会导致控件被移除
Created by Jerry Wang, last modified on Aug 20, 2015
控件setVisible为false会导致控件被移除
|
API C#
C#编程:三种方法判断文本框是否为空
C#编程:三种方法判断文本框是否为空
974 0