如何替换R.drawable."someString"

Mil*_*loš 24 android android-imageview

我的项目中有一些图像.图像的名称存储在String中,我想设置setImageResource(R.drawable."....."); 使用图像名称的字符串,但问题是这不起作用.

我怎样才能做到这一点?

jee*_*eet 56

这不是一个正确的语法,并且你必须得到编译器时间错误,在改变图像资源之前你必须知道,所有资源都提供了一个id,这些id存储在R.java文件中.Ids存储为整数格式,在您的应用程序中,您可以通过这些id而不是名称来获取所有这些资源,因此您需要首先获取资源ID,方法是:

String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
Run Code Online (Sandbox Code Playgroud)

然后使用此resID.


Vya*_*kin 10

使用

getResources().getIdentifier("NAME_OF_IMAGE", "drawable", context.getPackageName())
Run Code Online (Sandbox Code Playgroud)