0

/mnt/sdcard/img.jpgからImageViewに画像を読み込もうとしています。

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

Galleryからパスを取得しましたが、アプリにパスが存在しないと表示されます。しかし、ファイルマネージャにはそれが存在します。

どうすれば修正できますか?

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);
    }
4

1 に答える 1

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);
于 2012-10-10T08:47:29.027 に答える