Android Context变为null

时间:2015-07-03 07:40:28

标签: java android

在我的申请中

类中心实例化如下:

central.java:

mContext = getApplicationContext();
mMyStuff = new MyStuff(mContext);

MyStuff类需要从某些资源获取mContext。

MyStuff.java:

public class MyStuff {

    private Context  mContext;

    public MyStuff(Context c) {
        mContext = c;
    }

    ....    
    private ActionCustom MyAction = new ActionCustom(mContext);

问题是mContext始终为null,即使c不为null。我在做新的MyStuff(mContext)

时期待它

2 个答案:

答案 0 :(得分:6)

  

问题是mContext始终为null,即使c不为空

因为目前:

private ActionCustom MyAction = new ActionCustom(mContext);

在调用MyStuff类构造函数之前执行的行,其中mContext对象的初始化完成。

这样做:

private ActionCustom MyAction;
public MyStuff(Context c) {
    mContext = c;
    MyAction = new ActionCustom(mContext);
}

答案 1 :(得分:-1)

而不是

public MyStuff(Context c) {
    mContext = c;
}

尝试

public MyStuff(Context c) {
    this.mContext = c;
}