我使用带有几个片段的 MainActivity。
在活动中,我连接到服务器。
我用:android:configChanges="orientation|screenSize"
在我的清单中。
以便 Activity 在方向更改时保持连接。
但现在我不能对港口/陆地(片段)使用不同的布局。
有没有办法在不重新加载活动的情况下强制片段重新加载更改?
我使用带有几个片段的 MainActivity。
在活动中,我连接到服务器。
我用:android:configChanges="orientation|screenSize"
在我的清单中。
以便 Activity 在方向更改时保持连接。
但现在我不能对港口/陆地(片段)使用不同的布局。
有没有办法在不重新加载活动的情况下强制片段重新加载更改?
您需要将网络操作移到 Activity/Fragment 生命周期之外,以便您的 Activity 和 Fragment 可以按预期工作,并且您可以长时间运行网络操作而不会被 Activity 和 Fragment 生命周期中断。请记住,活动和片段是动态的,具有狭窄的关注点等。它们不是为网络操作而设计的。这就是为什么如此强调使用后台线程来处理各种事情以及为什么会有服务的原因。例如,您可以使用 IntentService 来处理您的网络操作。这是一个示例,说明您的 Activity 在发生配置更改时如何处理恢复/更新信息:https ://stackoverflow.com/a/4481297/2306657