我尝试了几乎所有可能的方法,将图像从存储的文件路径设置为image-view
。
它们都不起作用。 图像是从其他活动的图库中选择的,图像路径存储在数据库中。
图片的类型为 .jpg .jpeg .png
存储在数据库中的图像路径,包含没有任何扩展名的路径
eg. /external/storage/media/carimagename
当我尝试使用此代码将图像设置为imageview
时,没有错误但图像未设置。
for(int i=0;i<n;i++)
{
Bitmap pic = BitmapFactory.decodeFile(listview_arraypro1[i]);
carpict.setImageBitmap(pic);
/// File imgFile =new File("listview_arraypro1[i]");
// carpict.setImageBitmap(BitmapFactory.decodeFile(imgFile.getAbsolutePath()));
// Bitmap carpic = BitmapFactory.decodeStream(is);
// carpic = Bitmap.createScaledBitmap(carpic, 72, 70, false);
}
如何将路径格式/external/storage/media/carimagename
的图片设置为imageview
?
我使用以下内容获取上一个活动中的图像路径
Uri selectedImage = imageReturnedIntent.getData();
String selectedImagePath = selectedImage.getPath();
我从selectedImagePath获取了错误的路径吗?
这是我使用的没有mnt / sdcard的路径
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.ImageColumns.DATA);
return cursor.getString(idx);
}
}
File imageFile = new File(getRealPathFromURI(selectedImage));
String path= imageFile.toString();
答案 0 :(得分:4)
主要的是,首先你需要在图像路径中提到你的图像类型......
然后您可以使用该imagepath检索:
String img_path = "image will be with image type";
Bitmap bmp= BitmapFactory.decodeFile(img_path);
ImageView iv= (ImageView)findViewById(R.id.img);
iv.setImageBitmap(bmp);
您应该为清单文件添加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
答案 1 :(得分:2)
以this为例。
您可以使用ImageView.setImageURI(..)
方法。
preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Echo/Images/"+file_name));
答案 2 :(得分:1)
Image paths stored in database with paths without any extensions
您需要在路径中提及图像类型。即image.png
您可以尝试以下示例。
String imagePath = "your image path with image type"; //eg. /sdcard/img.PNG
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
ImageView myImageView = (ImageView)findViewById(R.id.imageview);// your imageview
myImageView.setImageBitmap(bitmap);