3

我有一个 ListFragment。在 onCreateView 中,我膨胀了一个具有 ID 为 android:List 的 ListView 和一个 ID 为 android:empty 的 TextView 的视图。

我想在我的 Fragment 视图上有一个进度指示器,直到列表加载了来自 asyncCall 的数据。为此,看起来我应该 setListShown(false) onActivityCreated (或在 AsyncTask onpreExec 或 onprogUpdate 之类的东西中)。

然后 onStart of Fragment 我会说 setListShown(true) 以显示列表并删除进度。

但是当我尝试使用 setListShown 我得到 IllegalStateException("Can't be used with a custom content view");

自定义列表视图到底是什么意思?它是简单地通过覆盖 onCreateView 的自定义列表视图吗?即使我在视图中有一个 ID 为 android:List 的 listView,这是 ListFragment 所期望的。

4

1 回答 1

3

您可以尝试在每个片段中使用视图切换器。这里的概念是一个布局有两个视图,您可以循环或翻页。

切换器中的一个视图,第 1 页,如果您愿意,将具有加载进度,而另一个视图,第 2 页,将具有列表。您默认为第 1 页或进度加载器视图。

一旦您确定您的列表已加载并呈现,切换视图 switcher.showNext() 以显示列表。

switcher.showNext() 或 switcher.showPrevious() 将带您回到加载程序。

于 2013-01-03T18:01:12.013 回答