如果我知道资源的名称,我怎样才能返回资源的id?
这样的事情:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
答案 0 :(得分:31)
在MonoDroid中,该代码转换为:
var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
但是,我个人不使用GetIdentifier,因为它在Android中不推荐 - 所以我改用Reflection:
var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
虽然该代码肯定会为任意字符串添加一些try / catch错误检查!