如何根据条件切换android视图

时间:2013-09-12 20:44:49

标签: android views

我正在创建一个Android应用程序,它主要由每个活动中的ListView组成。我希望实现的是一种机制,它将检查是否存在网络连接,如果存在,那么应该检索数据并将其提供给ListView。如果没有数据或互联网连接不可用,则应加载单独的视图。

哪种方式对此最有效。到目前为止,我已经看到了使用ViewSwitcher或Viewflipper的答案,但我不确定这是正确的方法。我应该使用片段然后根据满足的条件加载特定片段吗?我只是需要一些关于如何实现这一目标的建议。

3 个答案:

答案 0 :(得分:1)

您是否考虑过更换适配器? This问题可能会对您有所帮助。

我想你可能会添加某种工厂方法,根据连接可用性决定实例化哪个适配器。因此,您将控制要使用的数据和列表条目的外观(我假设您将使用其中一个现有适配器的某些自定义扩展)。

答案 1 :(得分:0)

最好的方法是使用作为AdapterView基类的一部分提供的emptyView。您只需按常规设置适配器,但如果没有检索到数据(即适配器的数据源为空),您将显示空视图以代替列表。这个空视图可以是你想要的任何东西。

答案 2 :(得分:0)

正如@Ivan所说,你应该考虑以动态的方式设置适配器。

关于片段事物,如果要在其他活动中重用这些片段以避免代码重复,只考虑使用独立片段(或ListFragments)。