如何将字符串转换为ID?

时间:2019-01-04 21:24:52

标签: java android

我必须将“ R.drawable.photo”之类的字符串转换为包含相同内容的整数。我该怎么办?

<string name="id1">R.drawable.photo</string>

我需要获取一个包含“ R.drawable.photo”的ID

2 个答案:

答案 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