所以我试图在我的项目中获取字符串资源,但是当我调用 context.getResources().getString(...)
时,我得到了一个 NullPointerException
.在 Debug模式下,我发现上下文不为空,但查看其成员时,我发现 mResources
为空。为什么没有为 Activity 上下文加载资源?
编辑
显然,这是触发异常的原因
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);
}
}
我必须按照 CommonsWare 的建议将 someClass
的初始化移动到 super.onCreate()
之后.谢谢。
最佳答案
如果我不得不猜测,您正试图在初始化程序中调用它。在 Activity 返回的 super.onCreate()
调用之前,不要尝试使用 getResources()
。
关于android - 调用 context.getResources() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24374027/