0

数组的声明。

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);
    }

为什么尝试访问 Fragments[] 我总是得到一个 NullPointerException 并且我已经搜索和搜索但没有运气,我找不到我出错的地方,希望一些新的眼睛可以!

4

1 回答 1

1

将其更改为:

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

当您运行它时,它仍然会给出错误消息吗?

我认为 getFragmentManager() 可能会在您的问题中返回 null 。由于看不到getFragmentManager、ft的声明和赋值、findFragmentByTag的代码,所以不能确定。

于 2012-07-16T00:00:07.020 回答