And*_*eev 15 c# mono xamarin.android mvvmcross
如果我知道资源的名称,我怎么能返回资源的id?
像这样的东西:
String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
Run Code Online (Sandbox Code Playgroud)
Stu*_*art 31
在MonoDroid中,该代码转换为:
var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
Run Code Online (Sandbox Code Playgroud)
但是,我个人不使用GetIdentifier,因为它在Android中不推荐 - 所以我使用Reflection代替:
var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
Run Code Online (Sandbox Code Playgroud)
虽然该代码肯定应该为任意字符串添加一些try/catch错误检查!
| 归档时间: |
|
| 查看次数: |
4782 次 |
| 最近记录: |