Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 调用context.getResources()返回null_Android_Nullpointerexception_Android Context - Fatal编程技术网

Android 调用context.getResources()返回null

Android 调用context.getResources()返回null,android,nullpointerexception,android-context,Android,Nullpointerexception,Android Context,所以我试图在我的项目中获取字符串资源,但是当我调用context.getResources().getString(…)时,我得到了一个NullPointerException。在调试模式下,我发现上下文不是空的,但查看其成员,我发现mResources是空的。为什么没有为活动上下文加载资源 编辑 显然,这就是引发异常的原因 public class MyActivity extends Activity { SomeClass someClass = new SomeClass(th

所以我试图在我的项目中获取字符串资源,但是当我调用
context.getResources().getString(…)
时,我得到了一个
NullPointerException
。在调试模式下,我发现上下文不是空的,但查看其成员,我发现
mResources
是空的。为什么没有为活动上下文加载资源

编辑

显然,这就是引发异常的原因

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

我必须将
someClass
的初始化移动到
super.onCreate()
之后,正如所建议的那样。谢谢。

如果非要我猜的话,你是在试图用初始值设定项来调用它。在活动中的
super.onCreate()
调用返回之前,不要尝试使用
getResources()

您是如何实例化正在用作上下文的活动的?您在活动生命周期中调用的确切位置是
getResources()
?您确定传递了正确的ID,该ID属于String.xml吗?@laalto像
onCreate
一样实例化?像在创建类的对象时一样实例化。是框架做的,还是您自己使用了
new
?问题解决了。谢谢我在活动中有一个默认初始化的成员,我试图从其构造函数调用该方法。