融天 世界公共任务:ListView之setEmptyView的问题

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 12:36:49
使用listView或者gridView时,当列表为空时,有时需要显示一个特殊的empty view来提示用户,一般情况下,如果你是继承ListActivity,只要




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行:
Java代码  
  1. TextView emptyView = new TextView(context);  
  2. emptyView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));  
  3. emptyView.setText(“This appears when the list is empty”);  
  4. emptyView.setVisibility(View.GONE);  
  5. ((ViewGroup)list.getParent()).addView(emptyView);  
  6. list.setEmptyView(emptyView);  

结果真的可行!