NullPointerException LayoutInflater.from(context) - 片段Android

时间:2014-09-29 06:20:48

标签: android android-fragments fragment android-nested-fragment

我已经实现了嵌套片段。子片段包含BaseAdapter。当我切换(替换)子片段时,我得到Nullpointer异常。 代码:

public MyAdapter(final Context context,
            final List<CusomObject> CusomObjectList) {
        mInflater = LayoutInflater.from(context);
        this.CusomObjectList = CusomObjectList;     
    }

我在这行中遇到错误 - mInflater = LayoutInflater.from(context);

我在Fragment的getActivity()构造函数中传递了MyAdapter

代码:

adapter = new MyAdapter(getActivity(), customList);
listView.setAdapter(adapter);

2 个答案:

答案 0 :(得分:5)

  

我在Fragment的MyAdapter构造函数中传递了getActivity()。

这是问题所在。

调用Fragment构造函数时 - 仍未启动对Activity的引用。

相反 - 您应该根据Fragment Activity方法中的onCreate()上下文进行任何对象创建或初始化。

一般情况下,根本不建议覆盖Fragment构造函数,就像你不重写Activity构造函数一样,但只是覆盖它的生命周期回调。< / p>

更多信息 - http://developer.android.com/guide/components/fragments.html

答案 1 :(得分:0)

使用另一个变量。

Context mContext;

public MyAdapter(final Context context,
        final List<CusomObject> CusomObjectList) {
    this.mContext = context;
    mInflater = LayoutInflater.from(mContext);
    this.CusomObjectList = CusomObjectList;     
}