6

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

    final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container, fragment)
            .commit();

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

4

1 回答 1

4

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

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

前任 :

Activity A: 在Activity A中调用fragment

 final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container_activityA, fragment)
            .commit();

Activity B:在Activity B中调用fragment

 final ScoreBoard fragment = new ScoreBoard();
    getFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container_activityB, fragment)
            .commit();
于 2017-02-27T12:13:23.050 回答