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

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

  • 问题是,我怎样才能从我的练习片段中获取信息?
    • 每个包含 3 个 NumberPickers 和一个 EditText。
    • 片段的数量可以从 1 到 20 不等。
4

1 回答 1

1

如果你这样做:

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

您的每个片段在事务管理器中都有一个唯一的标签,因此您可以从这个标签中检索它们findFragmentByTag

添加()

findFragmentByTag()

于 2012-07-15T21:47:19.053 回答