android - 对多个活动使用相同的片段

jos*_*991 6 android-fragments android-activity android-fragmentactivity onactivityresult onsaveinstancestate

我想在多个活动中使用一个片段。在我将在第一个活动中使用它,我创建了它

    final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container, fragment)
            .commit();
Run Code Online (Sandbox Code Playgroud)

在第二个活动中,我在 onCreate() 方法中放置了相同的代码。但是,即使我已经通过 onSavedInstanceState() 和 onActivityCreated() 保存了它们,片段也会不断重置并且不会将其值保留在第二个活动中。我是在重新创建片段并重置它吗?谢谢你。

Aja*_*pal 4

是的,您可以在不同的活动中使用相同的片段。

在您需要调用该片段的所有活动中创建一个fragment_container 视图。然后将片段调用到该容器中。

前任 :

Activity A: 在Activity A中调用fragment

 final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container_activityA, fragment)
            .commit();
Run Code Online (Sandbox Code Playgroud)

Activity B:在Activity B中调用fragment

 final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container_activityB, fragment)
            .commit();
Run Code Online (Sandbox Code Playgroud)