2

我想在多个活动中使用片段。 在第一活动,我将在使用它,我创建它由android - 为多个活动使用相同的片段

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

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

+0

凸点凸点凸点BU熔点 – joshua1991

+0

见[如何在多个活动中重用一个片段](https://stackoverflow.com/a/46342 916/3681880) – Suragch

回答

3

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

在您需要调用片段的所有活动中创建一个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(); 
+0

我明白了。所以碎片容器ID必须有所不同? – joshua1991

+0

是的..每个活动包含不同的布局,每个布局应包含不同的容器。为该容器视图调用片段。 –

相关问题