我有一个Activity,它包含一个用XML定义的ListView(它不是ListActivity类的子类).
我想在ListView为空时显示一条消息,所以我尝试使用setEmptyView方法:
listView = (ListView) findViewById(R.id.list);
TextView emptyListText = new TextView(this);
// also tried with the following line uncommented
// emptyListText.setId(android.R.id.empty);
emptyListText.setText(getString(R.string.EmptyList));
listView.setEmptyView(emptyListText);
Run Code Online (Sandbox Code Playgroud)
但它没有用.
有任何想法吗?
谢谢.
McS*_*tch 23
调用后,您需要在代码中添加以下两行setText()
:
emptyListText.setVisibility(View.GONE);
((ViewGroup)listView.getParent()).addView(emptyListText);
Run Code Online (Sandbox Code Playgroud)
如果可见性未设置为GONE(隐藏),则TextView将始终显示为可见.第二行将TextView放入ListView的ViewGroup中 - 在使用声明性XML视图时会自动处理.
资料来源:http://www.littlefluffytoys.com/? p = 74
嗯,也许原因是视图没有设置布局参数。尝试为该视图设置一些布局参数,我认为这会起作用。像这样的东西:
emptyListText.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试使用如下所示的方法来膨胀 ListView 父级 (R.id.list) 中的视图:
mEmptyListView = (LinearLayout) getLayoutInflater().inflate(
R.layout.no_items,
(LinearLayout) findViewById(R.id.list));
mListView.setEmptyView(findViewById(R.id.no_items));
Run Code Online (Sandbox Code Playgroud)
我是凭记忆写的,所以如果它不起作用或有任何错别字,请告诉我。基本上的想法是你的视图应该添加到布局中
格尔
归档时间: |
|
查看次数: |
4112 次 |
最近记录: |