2012-02-21 39 views
3

我有两个相邻的ListFragments。 左边显示的是要选择的类别,右边则显示所选类别中的元素。当列表为空时,将ListFragment中的“Loading ...”消息替换为

现在在屏幕的最开始处,左边的ListFragment显示所有的类别,而右边的是空的,并等待选择一个类别。只有这样它才能显示所选类别的成员。

虽然它是空的,但“加载..”的消息得到显示 - 我认为这看起来相当不错。

我现在喜欢做的就是用我自己的替换“加载...”文本。

这可能不需要实现完整的ListFragment类吗?

非常感谢。

回答

7

ListFragment.setEmptyText(..)应该这样做!

+0

我把行放在ListFragment的onActivityCreated中,但它不会改变任何东西。即使它在文档中另有说明! (谢谢你的好主意!) – user387184 2012-02-21 20:51:20

+0

这很奇怪。我应该注意到,我的ListFragments中没有“Loading ...”文本,没有数据,只是一个旋转的加载动画。这是一个标准的ListView吗?什么是您的布局的xml代码? – 2012-02-25 12:54:31

+0

它只是一个普通的ListFragment,而不是一个Acticvity中的ListView – user387184 2012-02-25 13:45:41

1

当列表为空时,方法setEmptyText显示为TextView,因此“Loading ...”将不会显示。 From Documentation

ListFragment的默认内容具有TextView,当列表为空时,该TextView可以是 。如果您想要显示该文件,请拨打 此方法提供应该使用的文本。

纺丝加载动画是一个静不定进度指示器,并且通常表示为每文档

public void setListShown (boolean shown) 

自:API级别11控制是否正被显示的列表中。如果您正在等待显示其中的初始数据 ,您可以使其不显示。在此期间,将显示一个不确定进度指示器 。

应用程序通常不需要使用它自己。 ListFragment的默认 行为开始时不显示列表, 只有在给出适配器 setListAdapter(ListAdapter)时才会显示它。如果此时的列表不是 ,那么显示它时,将会显示 看到隐藏状态。

显示的参数如果为true,则显示列表视图;如果为false,则表示进度指示器为 。初始值是真的。