2016-03-08 92 views
0

我与SVG格式的工作,增加了一个图书馆,所有的方法承认,做了一切作为例子,然后运行NullPointerException为什么抛出NullPointerException?

我不明白为什么...

这是我在活动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方法中的一行代码和崩溃。

我在做什么错?

在类(它是一个活动时间)
+3

看起来像是你的SVG无效,或者解析库中有一个错误... –

+0

@Neil Haaaa .I知道 –

+0

@IntelliJAmiya它是[在Java标准库方法](https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html#floatValue- - ) – dsh

回答

-2

查看有没有这样的视图。这通常是因为三个原因之一:

1)你忘了setContentView

2)你试图让视你叫setContentView

3)之前,你在setContentView

使用了错误的布局

请检查一次第三点

+0

这似乎并不在这里去关注那些实际的异常。问题发生在SVG解析器中,它试图取消“Float”。你能否解释这是由于你列出的任何原因造成的? –

0

只需将“savedInstanceState”放在“if”块中,看看它做了什么。 你可能实际上是以某种方式传递一个“null”状态(在android中不是很“亲”,所以对于愚蠢的建议感到抱歉)

相关问题