【发布时间】:2014-12-16 22:34:38
【问题描述】:
我有一个 ListView 可以从网络上检索其数据。我希望 ListView 在从 Web 检索数据时显示一个旋转的进度条,如果没有获取数据,我想显示一个简单的文本“无数据”,否则它将显示获取的数据。
我到处寻找示例,甚至 Google 建议使用进度条作为列表的空白视图。 (见example)
真的没有意义,因为我需要加载视图 + 空视图。有没有描述如何做到这一点的例子?或者,也许任何人都可以阐明实现这一点的正确步骤?
【问题讨论】:
-
对 EmptyView 使用 TextView,对 Progress 使用 Dialog,可能由 AsyncTask 驱动。
-
我不能使用对话框,我特别想使用 ProgressBar。我正在创建的所有内容都包含在带有选项卡的视图寻呼机中。选项卡包含包含 ListViews 的片段。每个 ListView 都会管理自己的 ProgressBar。
-
OK,ProgressBar 可以放到 ListView 头部了。或在其页脚中。或者在页眉中添加 ProgressBar,在页脚中添加“Loading...”。反之亦然。
-
好的,页眉和页脚可以根据需要设置为可见/不可见/消失。它们可以是 ListView 的外部(只需将它们放在 ListView 的上方和/或下方,而不是通过 addHeaderView/addFooterView 添加它们)。
-
我已经按照您的建议做了一个临时(也许是永久性的?)解决方案,基本上我在 ListView 下方添加了一个包含 ProgressBar 的 FrameLayout,我最初将其设置为 GONE。当我执行 http 请求时,我让它可见,当结果回来时,我让它再次消失。我希望有一个更友好(并且可能更可重用)的解决方案,但现在应该这样做。如果其他人有建议,我很乐意听取他们的意见。谢谢时髦
标签: android android-listview android-progressbar