按下后退按钮恢复片段视图

时间:2014-05-01 23:42:15

标签: android fragment back-stack

我有一个活动,我放置片段A.然后点击片段A,我用片段B替换片段A.现在,当我按下后退按钮时,它显示片段A.但是整个视图被重新创建。我在Fragment A中调用服务,以便再次调用这些服务。我想要恢复片段A而不再创建视图。如果服务调用正在片段A进行,我转到片段B并返回,那么它应该恢复服务调用。

请建议我如何做到这一点。

1 个答案:

答案 0 :(得分:0)

选项1:

以保留的片段设置您的服务。

This blog提供了有关此主题的完整概述。它讨论了与AsycTasks相关的保留片段,但原理是相同的。

选项2:

Fragment lifecycle methods中,办理登机手续以确保服务仅启动一次。

考虑以下psudo代码:

Fragment A {

    onCreate() {
        boolean servicesStarted = false;
        ...
    }

    onResume() {
        if (servicesStarted == false) {
            startTheServices();
            servicesStarted = true;
        }
    }