我必须将“ R.drawable.photo”之类的字符串转换为包含相同内容的整数。我该怎么办?
<string name="id1">R.drawable.photo</string>
我需要获取一个包含“ R.drawable.photo”的ID
答案 0 :(得分:1)
使用getIdentifier()
方法获取它:
int id = getResources().getIdentifier("photo", "drawable", getPackageName());
如果此代码不在活动中,则 getResources()
和getPackageName()
可能需要Context
:
int id = context.getResources().getIdentifier("photo", "drawable", context.getPackageName());
如果字符串的前缀为R.drawable.
,则:
String str = "R.drawable.photo"
int id = getResources().getIdentifier(str.replace("R.drawable.", ""), "drawable", getPackageName());
答案 1 :(得分:0)
int resID = getResources().getIdentifier("myString",
"drawable", getPackageName());
用您的字符串值“ myString
”替换上面的photo