Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据条件切换android视图_Android_Views - Fatal编程技术网

如何根据条件切换android视图

如何根据条件切换android视图,android,views,Android,Views,我正在创建一个Android应用程序,它主要由每个活动中的列表视图组成。我希望实现的是一种机制,该机制将检查是否存在网络连接,如果存在,则应检索数据并将其提供给ListView。如果没有数据或internet连接不可用,则应加载单独的视图 哪种方法最有效。到目前为止,我已经看到了关于使用ViewSwitcher或Viewflipper的答案,但我不确定这是正确的方法。我应该使用片段,然后根据满足的条件加载特定片段吗?我只是需要一些关于如何做到这一点的建议 您是否考虑过更换适配器?这个问题可能对你

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


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

您是否考虑过更换适配器?这个问题可能对你们有用


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

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

< P>正如@伊凡所说的,你应该考虑以一种动态的方式设置适配器。< /P>

和关于碎片的事情,只考虑使用独立的片段(或片段)如果您要在其他活动中重复使用这些片段以避免代码重复,请执行此操作。

您需要实时或在应用程序运行时的特定时间了解连接情况吗?我将在每个活动中提供一个功能,用于检查数据并用该数据加载列表视图适配器。我将在那里检查是否有互联网。该函数将在第一次创建活动时被调用。可能是因为我最近一直在研究API的这一部分,但我会为此寻找一个BoundService。这样,您的所有活动都可以绑定到它,并从该工作中获取它所持有的数据。