Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 查找重新源id_Android - Fatal编程技术网

Android 查找重新源id

Android 查找重新源id,android,Android,在我正在进行的项目中,我尝试将“纹理”加载到瓷砖中。“纹理”只是我的Res文件夹中的一个*.png文件。告诉我将图像和磁贴链接在一起的信息来自SQLite数据库。问题是,我以字符串的形式获取这些信息(例如Rock.png)。如何从该字符串获取资源id(@drawable/rock) 我的第一个猜测是写一个带有巨大case开关的类,我将它们连接在一起,但后来我得出结论,那将是相当静态的(如果不是完全迟钝的话)。所以一定有更好的方法,但直到现在我还找不到它…您可以通过这样做来获取资源Id int r

在我正在进行的项目中,我尝试将“纹理”加载到瓷砖中。“纹理”只是我的Res文件夹中的一个*.png文件。告诉我将图像和磁贴链接在一起的信息来自SQLite数据库。问题是,我以字符串的形式获取这些信息(例如Rock.png)。如何从该字符串获取资源id(@drawable/rock)


我的第一个猜测是写一个带有巨大case开关的类,我将它们连接在一起,但后来我得出结论,那将是相当静态的(如果不是完全迟钝的话)。所以一定有更好的方法,但直到现在我还找不到它…

您可以通过这样做来获取资源Id

int resourceID = MainActivity.this.getResources().getIdentifier(img, "drawable",
                     MainActivity.this.getPackageName());
在哪里

MainActivity==>您当前的活动
img==>不带扩展名的视图/可绘制名称,例如(.png)和R.(id/string/color…)
可绘制的==>您的“img”类型
MainActivity.this.getPackageName()==>当前包名