应用程序崩溃时,在Android中从Gallery中的Listview中加载图片

问题描述:

我从相机中直接从图库中加载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

一般来说,如果它打破了没有日志,你可以尝试通过Eclipse调试器或类似调试它,可能是一种选择,以更好地了解发生了什么。

就我所见,你的代码似乎取决于这样一个事实,即至少有一个结果总是有正确的响应,而该结果的[0]列是有效的。