从没有附加变量的片段中获取数据

时间:2012-07-15 20:52:39

标签: java android dynamic android-fragments

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

上述代码根据从NumberPicker检索的值创建动态数量的片段。这是我能找到实现我所需的动态片段创建的唯一方法,但问题是我需要稍后在我的应用程序中访问这些信息,如果我没有使用“new ExerciseFragment()”,那就很好了。 / p>

  • 问题是,如何从我的ExerciseFragment中获取信息?
    • 每个包含3个NumberPickers和一个EditText。
    • 片段数量可以在1到20之间变化。

1 个答案:

答案 0 :(得分:1)

如果你这样做了:

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

每个片段在事务管理器中都有一个唯一的TAG,因此您可以使用findFragmentByTag

从此TAG中检索它们

add()

findFragmentByTag()