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

时间:2017-02-26 03:00:56

标签: android-fragments android-activity android-fragmentactivity onactivityresult onsaveinstancestate

我想在多个活动中使用片段。 在我将使用它的第一个活动中,我是通过

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

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

1 个答案:

答案 0 :(得分:4)

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

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

前:

活动A:在活动A中调用片段

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

活动B:在活动B中调用片段

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