动态加载图像R.Drawable使用变量

时间:2011-10-30 21:43:11

标签: android

我认为我越来越近了但仍然遇到资源错误。我在所有3个可绘制文件夹中都有一个名为rock.png的图像文件。

在我的布局MAIN.XML中:

 <ImageView android:id="@+id/rockId" android:src="@drawable/rock"></ImageView>

在我的代码中:

            int resID = getResources().getIdentifier("rockId" , "id", "com.testing");
            ImageView image = (ImageView) findViewById(resID);

我仍然在我的错误catlog中看到这个:

10-30 17:36:24.485: WARN/ResourceType(74): Resources don't contain package for resource number 0x7f020000

对我可能做错了什么的任何想法?欢迎任何提示

1 个答案:

答案 0 :(得分:24)

找到控件:

ImageView image = (ImageView) findViewById(R.id.rockId);

要从drawable动态加载图像我使用此功能

    public static int getDrawable(Context context, String name)
    {
        Assert.assertNotNull(context);
        Assert.assertNotNull(name);

        return context.getResources().getIdentifier(name,
                "drawable", context.getPackageName());
    }

这将返回你的drawable的id,现在你需要的是在控件中设置图像:

image.setImageResource(int Id);