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中不是很「親」,所以對於愚蠢的建議感到抱歉)

相關問題