Android将图库中的图像获取到ImageView中

我尝试将galery中的照片添加到中,ImageView但出现此错误:


java.lang.RuntimeException:无法将结果ResultInfo {who = null,request = 1,result = -1,data = Intent {dat = content:// media / external / images / media / 1}}传递到活动{hotMetter。 pack / hotMetter.pack.GetPhoto}:java.lang.NullPointerException


这是我的代码:


      Intent intent = new Intent();

      intent.setType("image/*");

      intent.setAction(Intent.ACTION_GET_CONTENT);


      startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE);

}

Bitmap bitmap=null;

public void onActivityResult(int requestCode, int resultCode, Intent data)

{


    if (resultCode == Activity.RESULT_OK)

    {

        if (requestCode == SELECT_PICTURE) 

        {

             Uri selectedImageUri = data.getData();           

             selectedImagePath = getPath(selectedImageUri);             

             tv.setText(selectedImagePath);

             img.setImageURI(selectedImageUri); 

         }

    }



 public String getPath(Uri uri) 

    {

        String[] projection = { MediaStore.Images.Media.DATA };

        Cursor cursor = managedQuery(uri, projection, null, null, null);

        if (cursor == null) return null;

        int column_index =             cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

        cursor.moveToFirst();

        String s=cursor.getString(column_index);

        cursor.close();

        return s;

    }

我得到了,selectedImagePath="mnt/sdcard/DCIM/myimage"但是img.setImageURI(selectedImageUri);我得到了错误。


我还使用了Bitmap并尝试从中设置图像,SetImageBitmap但出现了同样的错误。


潇潇雨雨
浏览 818回答 3
3回答

饮歌长啸

在调试模式下运行该应用程序,并在if上设置断点,(requestCode == SELECT_PICTURE)并在逐步检查每个变量时检查以确保按预期设置了该变量。如果您收到一个NPE img.setImageURI(selectedImageUri);不论当时img还是selectedImageUri未设置。
打开App,查看更多内容
随时随地看视频慕课网APP