我有一个活动,我放置片段A.然后点击片段A,我用片段B替换片段A.现在,当我按下后退按钮时,它显示片段A.但是整个视图被重新创建。我在Fragment A中调用服务,以便再次调用这些服务。我想要恢复片段A而不再创建视图。如果服务调用正在片段A进行,我转到片段B并返回,那么它应该恢复服务调用。
请建议我如何做到这一点。
答案 0 :(得分:0)
选项1:
以保留的片段设置您的服务。
This blog提供了有关此主题的完整概述。它讨论了与AsycTasks相关的保留片段,但原理是相同的。
选项2:
在Fragment lifecycle methods中,办理登机手续以确保服务仅启动一次。
考虑以下psudo代码:
Fragment A {
onCreate() {
boolean servicesStarted = false;
...
}
onResume() {
if (servicesStarted == false) {
startTheServices();
servicesStarted = true;
}
}