如何根据条件切换android视图
我正在创建一个Android应用程序,它主要由每个活动中的列表视图组成。我希望实现的是一种机制,该机制将检查是否存在网络连接,如果存在,则应检索数据并将其提供给ListView。如果没有数据或internet连接不可用,则应加载单独的视图如何根据条件切换android视图,android,views,Android,Views,我正在创建一个Android应用程序,它主要由每个活动中的列表视图组成。我希望实现的是一种机制,该机制将检查是否存在网络连接,如果存在,则应检索数据并将其提供给ListView。如果没有数据或internet连接不可用,则应加载单独的视图 哪种方法最有效。到目前为止,我已经看到了关于使用ViewSwitcher或Viewflipper的答案,但我不确定这是正确的方法。我应该使用片段,然后根据满足的条件加载特定片段吗?我只是需要一些关于如何做到这一点的建议 您是否考虑过更换适配器?这个问题可能对你
哪种方法最有效。到目前为止,我已经看到了关于使用ViewSwitcher或Viewflipper的答案,但我不确定这是正确的方法。我应该使用片段,然后根据满足的条件加载特定片段吗?我只是需要一些关于如何做到这一点的建议 您是否考虑过更换适配器?这个问题可能对你们有用
我想您可能会添加某种工厂方法,根据连接可用性决定实例化哪个适配器。因此,您将控制要使用的数据和列表项的外观(我假设您将使用某个现有适配器的自定义扩展) 最好的方法是使用作为
AdapterView
基类的一部分提供的。您只需按照常规设置适配器,但如果没有检索到任何数据(即适配器的数据源为空),您将显示空视图来代替列表。这个空视图可以是你想要的任何东西。 < P>正如@伊凡所说的,你应该考虑以一种动态的方式设置适配器。< /P>
和关于碎片的事情,只考虑使用独立的片段(或片段)如果您要在其他活动中重复使用这些片段以避免代码重复,请执行此操作。
您需要实时或在应用程序运行时的特定时间了解连接情况吗?我将在每个活动中提供一个功能,用于检查数据并用该数据加载列表视图适配器。我将在那里检查是否有互联网。该函数将在第一次创建活动时被调用。可能是因为我最近一直在研究API的这一部分,但我会为此寻找一个BoundService。这样,您的所有活动都可以绑定到它,并从该工作中获取它所持有的数据。