数组的声明。
public ExerciseFragment[] fragments;
初始化。
fragments = new ExerciseFragment[numberOfWorkouts];
最后,将每个片段设置为其各自的
ExerciseFragment
。for (int i = 0; i < numberOfWorkouts; i++) {
ft.add(LinearLayoutID, new ExerciseFragment(), "KEY"+i);
fragments[i] = (ExerciseFragment) getFragmentManager().findFragmentByTag("KEY"+i);
}
whyn尝试访问fragments []我总是得到一个NullPointerException,而且我搜索并没有运气,我找不到错误的地方,希望有些新鲜的眼睛可以!
最佳答案
将其更改为:
for (int i = 0; i < numberOfWorkouts; i++) {
fragments[i] = new ExerciseFragment();
ft.add(LinearLayoutID, fragments[i], "KEY"+i);
}
当您运行该命令时,它还会给出错误消息吗?
我在想getFragmentManager()可能在您的问题中返回null。由于我看不到getFragmentManager的代码,ft的声明和赋值以及findFragmentByTag,所以我不确定。