2013-10-15 57 views
0

我從相機中直接從圖庫中加載listview中的圖片。在模擬器上,來自畫廊的圖像非常完美。但在設備上,當我選擇第一張照片時效果很好。但是,當我第二次選擇相同的圖片時,應用程序崩潰並且沒有出現logcat。 這裏是一個代碼:應用程序崩潰時,在Android中從Gallery中的Listview中加載圖片

if (requestCode == UploadFile && resultCode == RESULT_OK && null != data) { 

      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String picturePath = cursor.getString(columnIndex); 
      Bitmap image=(BitmapFactory.decodeFile(picturePath)); 
      cursor.close(); 

      addattachmentsToListView(image); 
+0

如果發生崩潰,則會有logcat,除非您專門捕獲並忽略運行時異常。在這段代碼中,您至少應該檢查moveToFirst()的返回值,以確保遊標在訪問行數據之前指向有效的行。 – laalto

回答

0

一般來說,如果它打破了沒有日誌,你可以嘗試通過Eclipse調試器或類似調試它,可能是一種選擇,以更好地瞭解發生了什麼。

就我所見,你的代碼似乎取決於這樣一個事實,即至少有一個結果總是有正確的響應,而該結果的[0]列是有效的。

相關問題