如何使用sdcard文件路径在列表适配器内的图像视图中显示图像

时间:2016-06-17 10:14:46

标签: android image

我将少量图像保存到手机存储器中,然后在我的sqlite数据库中插入它的路径。但是当我检索它时路径是完美的但位图总是返回null。 我尝试了许多像picaso和ImageLoader这样的lib但没有工作请帮忙

String path = "/files/"+sArrList.get(position).getImg_path();
File imgFile = new File(path);
Picasso.with(context).load(imgFile).into(holder.imageView2);

我的路径由getImage_path返回

/storage/sdcard0/Android/data/com.example.geet.easysurvey/files/Pictures/Easysurway/EasySurvay-4d9334ab-0245-4cb2-b7b8-0d4fdac376ba.jpg

我也试过

final BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap takenImage = BitmapFactory.decodeFile(imgFile.getAbsolutePath(),options);
holder.imageView2.setImageBitmap(takenImage);

位图始终返回null;请帮忙

2 个答案:

答案 0 :(得分:0)

假设你的照片的路径是

/data/data/hnmn3.mechanic.optimist.popularmovies/app_imageDir/image.jpg

比你可以使用这种方法

path="/data/data/hnmn3.mechanic.optimist.popularmovies/app_imageDir"

public void load() {
    try {
        File f = new File(path, "image.jpg");
        Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
        ImageView img = (ImageView) findViewById(R.id.imageViewload);
        img.setImageBitmap(b);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }
}

答案 1 :(得分:0)

请检查该路径中是否存在Image,如下所示:

  File file = new File(filePath);
 if(file.exists(){
// convert file to bitmap here 
 }else{
 // something wrong in your path then
 }