android中可绘制的动态位图

android中可绘制的动态位图,android,android-resources,Android,Android Resources,我想知道如何从动态变量(图像名称/类型字符串)设置位图可绘制资源: public CustomIcon getView(int position, View convertView, ViewGroup parent) { String label; String image; DataBaseManager db = new DataBaseManager(context); label = db.getIconLabel(mIc

我想知道如何从动态变量(图像名称/类型字符串)设置位图可绘制资源:

public CustomIcon getView(int position, View convertView, ViewGroup parent) {
        String label;
        String image;
        DataBaseManager db = new DataBaseManager(context);
        label = db.getIconLabel(mIcons.get(position));
        image = db.getIconImage(mIcons.get(position));
        Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(),
                parent.getResources().getIdentifier(image, "drawable", getApplicationContext().getPackageName()));
        Log.v(TAG, "current pos:"+ position);
        CustomIcon icon = new CustomIcon(context, bitmap,label);

        return icon;
    }
所讨论的部分是

Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(),
                         R.drawable.[image]);

上面更改的代码-

处理此问题的方法是首先获取资源ID,然后使用BitmapFactory方法:

String imgName = "myicon";
int resID = parent.getResources().getIdentifier(imgName, "drawable", "my.app.package.name");
Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), resID);

处理此问题的方法是首先获取资源ID,然后使用BitmapFactory方法:

String imgName = "myicon";
int resID = parent.getResources().getIdentifier(imgName, "drawable", "my.app.package.name");
Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), resID);

啊,谢谢,我刚回来合上这条线,。。我最终做的和你建议的有点不同,我正在更新上面的代码。。用你的方式还是我的方式做这件事有好处吗?看到上面的编辑-啊,谢谢我刚刚回来结束这个帖子,。。我最终做的和你建议的有点不同,我正在更新上面的代码。。用你的方式还是我的方式做这件事有好处吗?见上文编辑-