鍍金池/ 問答/Android/ Android 7.1 用 setImageBitmap 時 APP閃退?。?!

Android 7.1 用 setImageBitmap 時 APP閃退!??!

// MainActivity.java
// picture.setImageBitmap(bitmap);   <----這行是第110行,錯誤說這行  on a null object reference
if (resultCode == RESULT_OK){
    try {
        Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().
                openInputStream(imageUri));
        picture.setImageBitmap(bitmap);
    } catch (FileNotFoundException e){
        e.printStackTrace();
    }
}
03-22 03:09:58.414 26997-26997/com.example.cameraalbumtest E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.cameraalbumtest, PID: 26997
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent {  }} to activity {com.example.cameraalbumtest/com.example.cameraalbumtest.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference
at android.app.ActivityThread.deliverResults(ActivityThread.java:4089)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4132)
at android.app.ActivityThread.-wrap20(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference
at com.example.cameraalbumtest.MainActivity.onActivityResult(MainActivity.java:110)
at android.app.Activity.dispatchActivityResult(Activity.java:6932)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4085)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4132)?
at android.app.ActivityThread.-wrap20(ActivityThread.java)?
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)?
at android.os.Handler.dispatchMessage(Handler.java:102)?
at android.os.Looper.loop(Looper.java:154)?
at android.app.ActivityThread.main(ActivityThread.java:6119)?
at java.lang.reflect.Method.invoke(Native Method)?
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)?
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)?
回答
編輯回答
夏夕

這是在說你在一個 null 對象上調用了 setImageBitmap 方法。
也就是說你的 picturenull ,檢查下初始化吧。

2018年3月5日 12:26