2012-10-10 41 views
0

我想从/mnt/sdcard/img.jpg中将图像读入ImageView。Android:位图路径不正确

File image = new File(path); 
      Bitmap bm = BitmapFactory.decodeFile(image.getAbsolutePath()); 
      webView1.setImageBitmap(bm); 

我从图库中获取路径,我的应用说路径不存在。但在文件管理器中它是存在的。

我该如何解决?

if (arg0 == button4){ 
      Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT); 
      photoPickerIntent.setType("image/*"); 
      startActivityForResult(photoPickerIntent, 1); 

     } 

如何到映像文件的路径:

private String UriToBit(Uri uri) { 
     String[] proj = {MediaStore.Images.Media.DATA}; 
     Cursor cursor = managedQuery(uri, proj, null, null, null); 
     int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
     cursor.moveToFirst(); 
     return cursor.getString(index); 
    } 
+0

你能过去错误描述吗? –

回答

0

嗨下面的代码,我正在用于显示的SD卡摄取的图像到ImageView的。

selectimage = (Button) findViewById(R.id.selectimg); 

    selectimage.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent i = new Intent(Intent.ACTION_PICK, 
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
        startActivityForResult(i, PICK_FROM_FILE);     

      } 
     } 
    }); 

    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

      if (resultCode == RESULT_OK) { 


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

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

     int columnIndex = cursor.getColumnIndexfilePathColumn[0]); 
     String filePath = cursor.getString(columnIndex); 
     cursor.close(); 

     yourSelectedImage = BitmapFactory.decodeFile(filePath); 
     img.setImageBitmap(yourSelectedImage);