android - 调用 context.getResources() 返回 null

标签 android nullpointerexception android-context

所以我试图在我的项目中获取字符串资源,但是当我调用 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/

相关文章:

android - 请解释一下 Android 中的 Context 类

java - 从Android到java服务器(jetty)的httpPost请求: parameters get lost?

java - 我怎样才能做一些像将文本设置到 ListView 中的 TextView 一样简单的事情

android - 如何从另一个类引用当前或主要 Activity

android - map View - 安卓

java - 复制到带有字符串的类时出现空指针异常

android - 使用应用程序类作为单例

android - 哪个是在 android 中使用的最佳加密方法?

android - 在特定时间自动发送消息

Android Leanback 库 BrowseFragment