2016-05-04 44 views
0

我有一個包含要發送到另一個活動的數據的片段。從意圖發送和檢索一個附加功能正在工作,但不適用於其他字節數組。請考慮一下。失敗的結果ResultInfo {who = null,request = 129742,result = -1,data = Intent {(has extras)}} to activity

片段類

 String userId = profile.getId(); 
     Bitmap bitmap = getFacebookProfilePicture(userId); 
     ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); 
     byte[] byteArray = stream.toByteArray(); 
     Intent myIntent = new Intent(getActivity(), Main2Activity.class); 
     myIntent.putExtra("name",name); 
     myIntent.putExtra("image",byteArray); 
     getActivity().startActivity(myIntent); 

MAIN2ACTIVITY

Intent intent = getIntent(); 
    String name = intent.getExtras().getString("name"); 
    byte[] byteArray = intent.getExtras().getByteArray("image"); 
    Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 

第三行main2activity拋出錯誤:失敗遞送結果ResultInfo {誰= NULL,請求= 129742,結果= -1, data = Intent {(has extras)}} to activity

這似乎成爲主要錯誤 引起:java.lang.NullPointerException:試圖調用虛擬方法'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap $ CompressFormat,int,java.io.OutputStream)'null對象引用

+0

這是唯一的錯誤?你能發佈完整的堆棧跟蹤嗎? – varunkr

+0

@varunkr可能是這個原因造成的:java.lang.NullPointerException:試圖調用虛擬方法boolean android.graphics.Bitmap.compress(android.graphics.Bitmap $ CompressFormat,int,java.io.OutputStream) '在空對象引用 –

+0

是啊,這是主要的錯誤 – varunkr

回答

0

您也可以嘗試這樣的..

Bundle bundle = getIntent().getExtras(); 
if(bundle!=null){ 
String name =bundle.getString("name"); 
    byte[] byteArray =getIntent().getByteArrayExtra("image"); 
    Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length); 
} 

測試它一定會幫助你...

+0

除了空檢查,是什麼使它不同? –

+0

@ trigger..here..null檢查是主要的...我想使它在發佈答案時大膽 –

+0

@trigger ...這裏意圖接收器拋出一個異常我可以在這裏看到NullPointerException –

0

從您的評論張貼的錯誤

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)' on a null object reference 

它看起來像是錯誤在bitmap.compress行,這意味着您以這種方式獲得的位圖爲空。

Bitmap bitmap = getFacebookProfilePicture(userId); 

這就是爲什麼在調用bitmap.compress時會產生錯誤。嘗試檢查這個功能,你也可以把調試器來確認。

相關問題