zoukankan      html  css  js  c++  java
  • Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id,

    package com.example.administrator.demo;
    import android.content.Context;
    
    /**
     * Created by Administrator on 2017/8/27 0027.
     */
    public class GetResourcesUtils{
    
    
        /**
         * 获取资源文件的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "id", context.getPackageName());
        }
    
        /**
         * 获取资源文件中string的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getStringId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "string", context.getPackageName());
        }
    
    
        /**
         * 获取资源文件drable的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getDrableId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "drable", context.getPackageName());
        }
    
    
        /**
         * 获取资源文件layout的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getLayoutId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "layout", context.getPackageName());
        }
    
    
        /**
         * 获取资源文件style的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getStyleId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "style", context.getPackageName());
        }
    
        /**
         * 获取资源文件color的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getColorId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "color", context.getPackageName());
        }
    
        /**
         * 获取资源文件dimen的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getDimenId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "dimen", context.getPackageName());
        }
    
        /**
         * 获取资源文件ainm的id
         *
         * @param context
         * @param resName
         * @return
         */
        public static int getAnimId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "anim", context.getPackageName());
        }
    
        /**
         * 获取资源文件menu的id
         */
        public static int getMenuId(Context context, String resName) {
            return context.getResources().getIdentifier(resName, "menu", context.getPackageName());
        }
    
    }
  • 相关阅读:
    Effective C++ 读书笔记(3544):继承关系与面向对象设计
    《全景探秘游戏设计艺术》读后感之引子
    Effective C++ 读书笔记(1117):构造析构和赋值函数
    Effective C++ 读书笔记(2934):类与函数之实现
    Unity中使用PersistentDataPath加载文件
    打开本地【C】【D】【E】驱动器时候提示 X:\ 找不到应用程序
    C#进制转换
    在VS里编辑unity代码调用系统方法不显示中文注释或英文注释
    Spreadsheet说明
    C#中删除控件的事件的方法类.
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/9684705.html
Copyright © 2011-2022 走看看