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);
时间: 2024-11-08 22:33:27

listview为空时,显示字符串的相关文章

Android ListView无数据时显示其他View

今天看的一块布局是这样的: <!-- The frame layout is here since we will be showing either the empty view or the list view. --> <FrameLayout android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1"

excel单元格为空值时显示红色

  excel表格我们经常会用到,在编辑的时候有些单元格是必须要填写的,所以为了防止漏填,或者忘记填写的情况.我们通常都会给这些单元格设置填充颜色.也就是说当这些单元格为空值时显示为红色,这样就可以起到漏填的功能.那么excel单元格为空时怎么显示为红色? excel版本比较多,这里以2007版本为例.首先我们先选择好要设置的单元格,比如要设置的区域是A2:A8,那么我们就将该区域选上.单元格我们也可以选择不连续的单元格,选上之后单击右侧的"条件格式"选项卡. 然后会下拉选项,在下拉的

excel单元格为空时怎么显示我们的警示标志防止漏掉数据

  在使用excel编辑数据的时候有些单元格是必须要填写的,所以为了防止漏填,或者忘记填写的情况.我们通常都会给这些单元格设置警示的标志,一般情况我们都是将其填充颜色以提醒我们.那么excel单元格为空时怎么显示我们的警示标志防止漏掉数据?下面小编就为大家介绍一下,一起来看看吧! 设置的流程 第一步打开我们所要进行设置修改的excel表格. 第二步我们可以看到打开的表格的各个单元格都是属于必须填写的部分,否则一旦钱的数目打错了,或者打到了别人的账户上是一件十分麻烦的事.小编就将所有的必须填写的单

null 空字符串-值为空时是插入空值还是空字符串比较好

问题描述 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好 值为空时是插入空值还是空字符串比较好

listview-android 点击动态添加view组成的listView的item时,显示出问题

问题描述 android 点击动态添加view组成的listView的item时,显示出问题 android listview中的item是动态添加的view, 点击item内的其中一个view时,显示的永远是页面上显示出来的的最后一个item的最后一个view中的值 List carLists = ci.getCarLists(); for (CarModle cm : carLists) { typeSeries = cm.getTypeSeries(); typeName = cm.get

jquery easyui datagrid 某列的数据为0或空时,这个列不显示

问题描述 jquery easyui datagrid 某列的数据为0或空时,这个列不显示 jquery easyui datagrid 某列的数据为0或空时,怎么让这个列不显示. 解决方案 问题是你所有行的此列都是0没有..要是有些列不是0那不是也被隐藏了, 如果是只要有0或者为空就隐藏,自己遍历下返回的数据,然后调用hideColumn执行隐藏此列$('#dg').datagrid('hideColumn','列名称') 解决方案二: jquery easyui datagrid 列宽按百分

c语言-求字符数目,输入字符串时显示Segmentation fault (core dumped)

问题描述 求字符数目,输入字符串时显示Segmentation fault (core dumped) int main(void){ char a[100]; printf(""please input char:n""); scanf(""%s"" &a); f(a); return 0;}void f(char *a){ int i = 0; int space = 0 line = 0 others = 0;

scollview内嵌套listview加载图片时显示在了listview上。

问题描述 scollview内嵌套listview加载图片时显示在了listview上. 我的scollview里面有imageview.和listview,listview加载图片完成 之后只显示listview,而imageview被翻到了上面,需要手动滑下来才看得见. 请教各位大神帮我解决下. 解决方案 加载完后,延时滚动到顶部. scrollView.postDelayed(new Runnable() { @Override public void run() { scrollView

比如说我加载这个界面时,listview中有全部要显示的值,但是我现在只想要符合我要求的值,我就要在文本框中输入编号1,哪么listview中的编号第一位为1的都留下,其余的消失,我该如何做?

问题描述 我现在是向文本框中输入值,根据输入值得变化,从数据库中掉不同的数据,我的listview中的值也进行变化,最后得出我想要的答案.比如说我加载这个界面时,listview中有全部要显示的值,但是我现在只想要符合我要求的值,我就要在文本框中输入编号1,哪么listview中的编号第一位为1的都留下,其余的消失,我该如何做? 解决方案 解决方案二:讓listview綁定datatable,通過dt.select過濾,過濾后重新綁定解决方案三:在FORMLOAD的时候加载所有数据,然后在TEX