我的项目中有一些图片。图像的名称存储在字符串中,我想setImageResource(R.drawable。“.....”);带有图像名称的字符串,但问题是这不起作用。

我怎样才能做到这一点?

最佳答案

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

String mDrawableName = "myimg";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());

然后使用此resID。

10-08 07:05