setImageResource()的问题 - 如何实现文件路径?

时间:2014-07-23 04:34:30

标签: java android

我无法找到如何将图片设置为setImageResource()。目前,我可以轻松地从res/drawable添加:

在ListViewAdapter中:

imageView = (ImageView) rowView.findViewById(R.id.listImageView); 
    imageView.setImageResource((int) getItemId(position)); 

在ViewAdapter中:

public class ViewAdapter extends BaseAdapter { 
    class Item { 
        public long id;
        public String name; 

    public Item(long id, String name) { 
            this.id = id;
            this.name = name; 
    } 
} 
public ViewAdapter(Context c) { 
    mContext = c; 

    mItems = new ArrayList<Item>();

    mItems.add(new Item(R.drawable.mercury,"Mercury")); 
    mItems.add(new Item(R.drawable.mercury,"Mercury")); 
    mItems.add(new Item(R.drawable.mercury,"Mercury")); ...

那么,如何从路径中添加图片?例如,说"/storage/emulated/Photos/Italy.jpg"?同样,我可以将它们存储在res/drawable中并添加它们,但需要一种方法从文件中添加它。尝试了不同的方法,但仍然无法找到如何做到这一点。

非常感谢!

4 个答案:

答案 0 :(得分:1)

你试过吗

setImageURI(Uri uri)

看到这个:

How to use setImageUri() on Android

答案 1 :(得分:1)

File imgFile = new  File(“/sdcard/Images/test_image.jpg”);

if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
    myImage.setImageBitmap(myBitmap);

}

答案 2 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

Bitmap bitmap = BitmapFactory.decodeFile(filepath);
imagView.setImageBitmap(bitmap);

答案 3 :(得分:0)

您可以从路径设置图片

    File img = new  File("here your path"");
    if(img.exists()){

        Bitmap myBitmap = BitmapFactory.decodeFile(img.getAbsolutePath());

        ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);
        myImage.setImageBitmap(myBitmap);

  }