为什么抛出NullPointerException?

时间:2016-03-08 13:14:24

标签: java android

我使用SVG格式,添加了一个库,识别了所有方法,按照示例执行了所有操作,然后运行NullPointerException ??

我无法理解为什么......

这是我在Activity中的onCreate方法

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_camera);

    RelativeLayout rlHumanBody = (RelativeLayout) findViewById(R.id.control);

\\But in this line error
    SVG svg = SVGParser.getSVGFromResource(getResources(), R.raw.frontfigure);


    Drawable drawable = svg.createPictureDrawable();
    rlHumanBody.setBackground(drawable);
}

是一个错误

    FATAL EXCEPTION: main
    Process: com.example.android.camera2basic, PID: 4396
    java.lang.RuntimeException: Unable to start activity  ComponentInfo{com.example.
    android.camera2basic/com.example.android.camera2basic.CameraActivity}: 
    com.applantation.android.svg.SVGParseException:  java.lang.NullPointerException: 
   Attempt to invoke virtual method 'float java.lang.Float.floatValue()' on a   null 
    object reference
    at   android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
    at  android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
    at android.app.ActivityThread.access$800(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5254)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java :903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
    Caused by: com.applantation.android.svg.SVGParseException: java.lang.
    NullPointerException: Attempt to invoke virtual method 'float  java.lang.Float.
    floatValue()' on a null object reference
    at com.applantation.android.svg.SVGParser.parse(SVGParser.java:211)
    at  com.applantation.android.svg.SVGParser.getSVGFromResource(SVGParser.java:1 10)
        at com.example.android.camera2basic.CameraActivity.onCreate(CameraActivity.java:222)

此处的最后一行表示第222行是onCreate方法中代码和崩溃的行。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

只需将“savedInstanceState”放在“if”块中,看看它的作用。 实际上你可能会以某种方式传递“null”状态(在android中不是非常'pro',对于这个愚蠢的建议很抱歉)

答案 1 :(得分:-2)

在类中的

(它是一个Activity?)视图中没有这样的视图。它通常是由于以下三个原因之一而发生的:

1)你忘了setContentView

2)在调用setContentView

之前,您尝试查看

3)您在setContentView

中使用了错误的布局

请为第三点检查一次