为什么抛出NullPointerException?
问题描述:
我与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
方法中的一行代码和崩溃。
我在做什么错?
在类(它是一个活动时间)
答
查看有没有这样的视图。这通常是因为三个原因之一:
1)你忘了setContentView
2)你试图让视你叫setContentView
3)之前,你在setContentView
请检查一次第三点
+0
这似乎并不在这里去关注那些实际的异常。问题发生在SVG解析器中,它试图取消“Float”。你能否解释这是由于你列出的任何原因造成的? –
答
只需将“savedInstanceState”放在“if”块中,看看它做了什么。 你可能实际上是以某种方式传递一个“null”状态(在android中不是很“亲”,所以对于愚蠢的建议感到抱歉)
看起来像是你的SVG无效,或者解析库中有一个错误... –
@Neil Haaaa .I知道 –
@IntelliJAmiya它是[在Java标准库方法](https://docs.oracle.com/javase/8/docs/api/java/lang/Float.html#floatValue- - ) – dsh