在ListFragment中切换出空的ListView视图

时间:2013-10-31 14:39:30

标签: android android-fragments android-listfragment

我有一个不会给自定义xml充气的列表片段。我正在这样做,以便在我的内容从互联网加载时获得旋转圈进度条。但是,当我收到网络异常时,我想用一个TextView替换ListView,该文本显示“无法显示等,按屏幕上的任意位置尝试重新加载”。我该怎么做?

现在看来,当抛出网络异常时,圆形进度加载器只是旋转和旋转,用户没有指示连接失败。我想在视图中执行此操作,我不想要警报或Toast等。我尝试使用setEmptyView(myTextView) - 但它不起作用,加载圈仍然在屏幕上而不是。如果我在Xml中定义空视图,那么'加载圈'永远不会显示,这也不是我想要的。我希望圆圈出现,直到出现异常,然后将其与TextView交换出来。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用setEmptyView("Error oh noo!");显示您尝试的错误。您只需显示您的ListView(空内容)即可显示该空视图。

setEmptyView("Error oh noo!");
if (isResumed())
    setListShown(shown);
else
    setListShownNoAnimation(shown);

答案 1 :(得分:0)

使用setEmptyText()然后必须在listView上设置一个空适配器。如果你没有设置适配器,那么列表现在不会没有数据,因此会继续显示加载圈。

例如:

private void onError()
{
    setEmptyText("Network error");
    setListAdapter(new ArrayAdapter(getActivity(), R.layout.item));
}