private void generateFragments() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
for (int i = 0; i < numberOfWorkouts; i++) {
ft.add(LinearLayoutID, new ExerciseFragment());
}
ft.commit();
}
上面的代码根据从 NumberPicker 检索到的值创建动态数量的 fragment 。这是我能找到的实现所需的动态 fragment 创建的唯一方法,但问题是我需要稍后在应用程序中访问信息,如果我没有使用“newExerciseFragment()”,那就没问题了。
- 问题是,我怎样才能从我的ExerciseFragment 中获取信息?
- 每个包含 3 个 NumberPicker 和 1 个 EditText。
- fragment 数量可以从 1 到 20 不等。
最佳答案
如果你这样做:
for (int i = 0; i < numberOfWorkouts; i++) {
ft.add(LinearLayoutID, new ExerciseFragment(), "TAG"+i);
}
您的每个 fragment 在事务管理器中都有一个唯一的标签,因此您可以使用 findFragmentByTag
从此标签中检索它们
关于java - 从没有附加变量的 fragment 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11495527/