Null Pointer通过接口调用函数时出错

时间:2014-08-08 02:04:07

标签: java android interface

我有一个定义为

的界面
public interface UpdateList {
    public void updateList();
}

实现为

@Override
public void updateList() {
    arrAdapter.notifyDataSetChanged();
}

当我从我定义的函数内部调用函数时,它将正常运行,但是当我通过接口调用它时,我在arrAdapter.notifyDataSetChanged();上得到一个NullPointer异常

以下是我通过界面调用它的方式,来自具有多个片段的Activity,在ViwePager中实现UpdateList接口

for (int i=0; i < mSectionsPagerAdapter.getCount(); i++) {
    ((UpdateList) mSectionsPagerAdapter.getItem(i)).updateList();
}

其中mSectionsPagerAdapterFragmentPagerAdapter的实现。我不确定我做错了什么。

编辑:因为人们假设它为null,所以在创建片段时会实例化arrAdapter。

编辑2:我向那些说它是空的人道歉,我是白痴,现在已经意识到错误在哪里。 mSectionsPagerAdapter.getItem(i)为该位置返回一个新的Fragment实例,但是在调用onCreateView之前没有任何内容实例化,因为该片段永远不会显示,所以不会发生这种情况。

所以我的问题应该是如何获得Viewpager创建的Fragment实例?

0 个答案:

没有答案