2012-07-15 17 views
0
private void generateFragments() { 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    for (int i = 0; i < numberOfWorkouts; i++) { 
     ft.add(LinearLayoutID, new ExerciseFragment()); 
    } 
    ft.commit(); 
} 

上述代碼根據從NumberPicker檢索到的值創建動態數量的片段。這是我能找到的實現我所需的動態片段創建的唯一方法,但問題是我需要稍後在我的應用程序中訪問信息,如果我沒有使用「新的ExerciseFragment()」,那很好。從沒有變量的片段獲取數據

  • 問題是,我如何從我的ExerciseFragment的信息中獲取信息?
    • 每個包含3個NumberPickers和一個EditText。
    • 片段的數量可以從1到20

回答

1

如果你這樣做:

for (int i = 0; i < numberOfWorkouts; i++) { 
    ft.add(LinearLayoutID, new ExerciseFragment(), "TAG"+i); 
} 

您的每一個片段,有一個唯一的TAG的事務管理器,因此,你可以從此TAG中檢索它們findFragmentByTag

add()

findFragmentByTag()

+0

謝謝,我正在尋找類似的東西,我很感激幫助。 – Ali 2012-07-15 21:54:53