调用context.getResources()返回null

Ola*_*nka 11 android nullpointerexception android-context

所以我想在我的项目中获得一个字符串资源但是当我打电话时context.getResources().getString(...),我得到一个NullPointerException.在调试模式下,我发现上下文不是null但是看着它的成员,我发现它mResources是null.为什么没有为活动上下文加载资源?

编辑

显然,这是触发异常的原因

public class MyActivity extends Activity {

    SomeClass someClass = new SomeClass(this);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}


public class SomeClass {

    private final Context mContext;

    public SomeClass(Context context) {
        mContext = context;
        mContext.getResources().getString(R.string.app_name);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不得不按照CommonsWare的建议将初始化someClass移到后面.谢谢.super.onCreate()

Com*_*are 26

如果我不得不猜测,你试图在初始化程序中调用它.在活动返回getResources()之前,请勿尝试使用super.onCreate().