我正在创建一个 Android 应用程序,该应用程序主要由每个活动中的 ListViews 组成。我希望实现的是一种机制,它将检查网络连接是否存在,如果存在,那么应该检索数据并将其提供给 ListView。如果没有数据或互联网连接不可用,则应加载单独的视图。
哪种方式最有效。到目前为止,我已经看到了有关使用 ViewSwitcher 或 Viewflipper 的答案,但我不确定这是正确的方法。我应该使用片段然后根据满足的条件加载特定片段吗?我只需要一些关于如何做到这一点的建议。
您是否考虑过仅更换适配器?这个问题可能对你有用。
我想您可能会添加某种工厂方法,该方法将根据连接可用性决定要实例化的适配器。因此,您将控制要使用的数据和列表条目的外观(我假设您将使用现有适配器之一的一些自定义扩展)。
最好的方法是使用emptyView
作为AdapterView
基类的一部分提供的。您只需像往常一样设置适配器,但如果没有检索到数据(即适配器的数据源为空),您将显示空视图来代替列表。这个空视图可以是任何你想要的。
正如@Ivan 所说,您应该考虑以动态方式设置适配器。
关于片段的事情,如果您要在其他活动中重用该片段以避免代码重复,请仅考虑使用独立片段(或 ListFragments)。