【问题标题】:Return id of resource, if i know name of resource如果我知道资源的名称,则返回资源的 ID
【发布时间】:2012-10-23 20:40:28
【问题描述】:

如果我知道资源的名称,我如何返回资源的 ID?

类似这样的:

String mDrawableName = "myappicon";
int resID = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());

【问题讨论】:

    标签: c# mono xamarin.android mvvmcross


    【解决方案1】:

    在 MonoDroid 中,该代码转换为:

     var resourceId = Resources.GetIdentifier(mDrawableName.ToLower(), "drawable", PackageName);
    

    但是,我个人不使用 GetIdentifier,因为它不推荐在 Android 中使用 - 所以我改用反射:

     var resourceId = (int)typeof(Resource.Drawable).GetField(mDrawable).GetValue(null);
    

    虽然该代码肯定应该为任意字符串添加一些 try/catch 错误检查!

    【讨论】:

      猜你喜欢
      • 2011-03-29
      • 2011-03-03
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多