为了账号安全,请及时绑定邮箱和手机立即绑定

Android,从字符串中获取资源ID?

Android,从字符串中获取资源ID?

哔哔one 2019-06-14 16:46:08
Android,从字符串中获取资源ID?我需要将一个资源ID传递给我的一个类中的一个方法。它需要同时使用引用指向的id和字符串。我应该如何才能最好地做到这一点呢?例如:R.drawable.icon我需要获得它的整数ID,但我也需要访问字符串“图标”。如果我要传递给这个方法的是“图标”字符串,那就更好了。
查看完整描述

3 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我不知道Resources.getIdentifier()已经存在了。

在我的项目中,我使用了以下代码:

public static int getResId(String resName, Class<?> c) {

    try {
        Field idField = c.getDeclaredField(resName);
        return idField.getInt(idField);
    } catch (Exception e) {
        e.printStackTrace();
        return -1;
    } }

它将像这样用于获取R.drawable.icon资源整数值

int resID = getResId("icon", R.drawable.class); // or other resource class

我刚发现一篇博文说Resources.getIdentifier()比我用反射更慢。去看看.


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 731 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信