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

是的..每個活動包含不同的佈局,每個佈局應包含不同的容器。爲該容器視圖調用片段。 –

相關問題