返回资源ID,如果我知道资源的名称 [英] Return id of resource, if i know name of resource
本文介绍了返回资源ID,如果我知道资源的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么能返回资源ID,如果我知道资源的名称
事情是这样的:
字符串mDrawableName =myappicon;
INT渣油= getResources()则getIdentifier(mDrawableName,绘制,getPackageName());
解决方案
在MonoDroid的,该代码转换为类似:
VAR RESOURCEID = Resources.GetIdentifier(mDrawableName.ToLower(),绘制,软件包名);
不过,我个人不使用则getIdentifier因为它不是在Android的推荐 - 所以我使用反射来代替
VAR RESOURCEID =(INT)typeof运算(Resource.Drawable).GetField(mDrawable).GetValue(NULL);
虽然该代码绝对应该有活期存款增加了任意字符串一些try / catch语句错误!
How i can return id of resource, if i know name of resource?
Something like this:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
解决方案
In MonoDroid, that code translates to something like:
var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
However, I personally don't use GetIdentifier as it's not recommended in Android - so I use Reflection instead:
var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
although that code should definitely have some try/catch error checking added for arbitrary strings!
这篇关于返回资源ID,如果我知道资源的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文