使用Imagepath设置图像不起作用

时间:2013-09-03 06:45:23

标签: java android xml bitmap imageview

尝试使用图像路径将图像设置为图像视图。

我的图片路径

   String img_path ="/storage/sdcard0/Fbt/xylo.jpg"; 

图片路径代码

              private String getRealPathFromURI(Uri contentURI) {
    Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
    if (cursor == null) { // Source is Dropbox or other similar local file path
        return contentURI.getPath();
    } else { 
        cursor.moveToFirst(); 
        int idx = cursor.getColumnIndex(MediaStore.Images.Media.DATA); 
        return cursor.getString(idx); 
    }
}

    selectedImage = imageReturnedIntent.getData();
            File imageFile = new File(getRealPathFromURI(selectedImage));
           String path= imageFile.toString();

output = / storage / sdcard0 / Fbt / xylo.jpg

我尝试了所有可能的代码仍然没有成功

  1.  ImageView carpict =(ImageView)findViewById(R.id.img);
    
    
     Bitmap bitmap = BitmapFactory.decodeFile(img_path);
     carpict.setImageBitmap(bitmap);
    
  2. 2

           Uri image22 =(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+img_path));
    
    
           InputStream imageStream = null;
    
                try {
                    imageStream = getContentResolver().openInputStream(image22);
    
                    Bitmap carpic = BitmapFactory.decodeStream(imageStream);
    
    
                   // carpic = Bitmap.createScaledBitmap(carpic, 72,72, false); 
                    carpict.setImageBitmap(carpic);
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
    

    第三。

              carpict.setImageURI
                (Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+img_path));
    

    第四

       File imgFile =new File("img_path");
     carpict.setImageBitmap(BitmapFactory.decodeFile(imgFile.getAbsolutePath()));
    

    我还添加了

         <uses-permission   android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
         <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    

    谁能告诉我哪里出错?

4 个答案:

答案 0 :(得分:0)

试试这段代码

ImageView imageView = (ImageView) findViewById(R.id.imageView1);
        System.out.println("sdcard path:"+Environment.getExternalStorageDirectory());
        Drawable d = Drawable.createFromPath(Environment.getExternalStorageDirectory()+"/images.png");
        imageView.setBackground(d);

答案 1 :(得分:0)

imageView.setImageURI(Uri.parse(new File("PathToFile"));

或者如果你有文件参考:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
                      +"/Fleet/xylo.jpg");
imageView.setImageURI(Uri.parse(file));

这应该有效。您需要使用Uri.parse的文件构造函数版本来正确设置图像。

检查图像是否存在于此位置,或图像是否有效。如果这也不起作用,请发布日志。

答案 2 :(得分:0)

问题在于图像本身,当我尝试使用其他图像时,它使用格式 .jpg .png .jpeg

处理图像
     ImageView carpict =(ImageView)findViewById(R.id.img);
     Bitmap bitmap = BitmapFactory.decodeFile(img_path);
     carpict.setImageBitmap(bitmap);

这是图像xylo.jpg,它没有设置,不知道为什么

http://www.mediafire.com/?lh75aco1en8f3ot

答案 3 :(得分:0)

Stirng path =&#34; /// storage / sdcard0 / Android / data / com.package.name / files / Download / Images / one-3.jpg&#34 ;; //改变你的图像文件路径

文件文件=新文件(路径);

imageView.setImageURI(Uri.parse(file.getPath()));