从适配器中的字符串获取图像

时间:2017-11-25 12:16:22

标签: android bitmap

通过使用getImage(),我得到资产/图像文件夹中文件的名称 但是我不知道如何创建位图,我不能使用getResorces(),因为该类不是Activity

如何创建一个具有存储在字符串中的文件名的位图?

 public class ListAdapter extends BaseAdapter {
     ...
     ...
     ....

    private Bitmap getImage(Node node){
       String path = node.getFirstChild().getFirstChild().getNextSibling().getNextSibling().getNextSibling().getTextContent();
    }
}

1 个答案:

答案 0 :(得分:0)

如果没有getResources(),您无法调用Context方法。因此,在ListAdapter中获取上下文的最佳选择是创建一个以上下文作为参数的构造函数。

public class ListAdapter extends BaseAdapter {
    Context mContext;
    ListAdapter(Context context){
    mContext = context;
    }
    //Your code...
}

如果您在资产文件夹中有图像

Bitmap getImage(Node node){
    String fileName = node.getFirstChild().getFirstChild().getNextSibling().getNextSibling().getNextSibling().getTextContent();
    try {
        InputStream stream = mContext.getAssets().open(fileName);
        Bitmap bitmap = BitmapFactory.decodeStream(stream);
        return bitmap;
    }catch(IOException e) {
      //Handle this case
    }
return null;
}