如果我知道资源的名称,我该如何返回资源的ID?
类似这样:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
如果我知道资源的名称,我该如何返回资源的ID?
类似这样:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
在MonoDroid中,该代码的翻译大致如下:
var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
然而,我个人不使用GetIdentifier,因为在Android中它不被推荐使用 - 所以我使用反射代替:
var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
虽然该代码应该添加一些try/catch错误检查来处理任意字符串!