关于android:为什么我不能在ListFragment中使用setListShown?或从异步任务加载列表时如何显示进度指示器?

Why can't I use setListShown in my ListFragment? or how to display progress indicator while List loads from async task?

我有一个ListFragment。
在onCreateView中,我为一个视图充气,该视图具有一个带ID android:List的ListView和一个带ID android:empty的TextView。

我想在Fragment视图上使用进度指示器,直到列表中已加载asyncCall的数据。
为此,我应该设置为setListShown(false)onActivityCreated(或在AsyncTask中的onpreExec或onprogUpdate等)中。

然后片段的onStart我说setListShown(true)以便显示列表并删除进度。

但是当我尝试使用setListShown时,我得到IllegalStateException("不能与自定义内容视图一起使用");

自定义列表视图的确切含义是什么?
是否仅通过覆盖onCreateView即可创建"自定义列表"视图?即使我在具有ID android:List的视图中具有listView,也由ListFragment ....

期望


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

在切换台中的一个视图(如果需要的话)将在第1页上显示,而在另一个视图(第2页)将显示列表。您默认使用第1页或进度加载器视图。

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

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