NullPointerException异常在ContextWrapper.getResources() [英] NullPointerException in ContextWrapper.getResources()

查看:280
本文介绍了NullPointerException异常在ContextWrapper.getResources()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的不知道是怎么回事了Android应用程序,我要建。在其发展的一些问题,我开始早点破,因为它在仿真器启动时,消息富已停止。以下是错误日志,如果有人可以帮助我:

  07-05 21:13:30.063 7647-7647 / root.fazerumsom E / AndroidRuntime:致命异常:主要
工艺:root.fazerumsom,PID:7647
了java.lang.RuntimeException:无法实例活动ComponentInfo {root.fazerumsom / root.fazerumsom.MainActivity}:显示java.lang.NullPointerException
        在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
        在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
        在android.app.ActivityThread.access $ 800(ActivityThread.java:135)
        在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)
        在android.os.Handler.dispatchMessage(Handler.java:102)
        在android.os.Looper.loop(Looper.java:136)
        在android.app.ActivityThread.main(ActivityThread.java:5001)
        在java.lang.reflect.Method.invokeNative(本机方法)
        在java.lang.reflect.Method.invoke(Method.java:515)
        在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)
        在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        在dalvik.system.NativeStart.main(本机方法)
 显示java.lang.NullPointerException:产生的原因
        在android.content.ContextWrapper.getResources(ContextWrapper.java:89)
        在android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78)
        在root.fazerumsom.MainActivity<&初始化GT;(MainActivity.java:31)
        在java.lang.Class.newInstanceImpl(本机方法)
        在java.lang.Class.newInstance(Class.java:1208)
        在android.app.Instrumentation.newActivity(Instrumentation.java:1061)
        在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
在android.app.ActivityThread.access $ 800(ActivityThread.java:135)
在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)
在android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:136)
在android.app.ActivityThread.main(ActivityThread.java:5001)
在java.lang.reflect.Method.invokeNative(本机方法)
在java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
在dalvik.system.NativeStart.main(本机方法)


解决方案

您正在呼叫 getResources()从现场初始化。类似

 私有String = MSTR getResources()的getString(...)。

(或可绘制或其他方面的资源)。

这是无效的,因为上下文中尚未设定。移动的onCreate()方法这里面分配。

I really don't know what's going on with the Android app I'm building. At some point on its development, I started getting it breaking as soon as it starts in the emulator, with the message "Foo stopped". Here is the error log, if anyone could help me:

07-05 21:13:30.063    7647-7647/root.fazerumsom E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: root.fazerumsom, PID: 7647
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{root.fazerumsom/root.fazerumsom.MainActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
        at android.app.ActivityThread.access$800(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at android.content.ContextWrapper.getResources(ContextWrapper.java:89)
        at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:78)
        at root.fazerumsom.MainActivity.<init>(MainActivity.java:31)
        at java.lang.Class.newInstanceImpl(Native Method)
        at java.lang.Class.newInstance(Class.java:1208)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)

解决方案

You're calling getResources() from a field initializer. Something like

private String mStr = getResources().getString(...);

(or with drawables or other kind of resources).

This is not valid, since the Context isn't set up yet. Move this assignment inside the onCreate() method.

这篇关于NullPointerException异常在ContextWrapper.getResources()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆