安卓(Android) 怎么将给定资源(Resource)标记中指定的所有属性的资源ID作为int数组返回

2019年10月19日12:20:36安卓(Android) 怎么将给定资源(Resource)标记中指定的所有属性的资源ID作为int数组返回已关闭评论 302 474字阅读1分34秒

1.简介

安卓(Android) 怎么将给定资源(Resource)标记中指定的所有属性的资源ID作为int数组返回?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

 


import android.content.Context;

import java.lang.reflect.Field;

public class Main {
    
    public static final int[] getResourceDeclareStyleableIntArray(
            Context context, String name) {
        try {
            
            Field[] fields2 = Class.forName(
                    context.getPackageName() + ".R$styleable").getFields();

            
            for (Field f : fields2) {
                
                if (f.getName().equals(name)) {
                    
                    int[] ret = (int[]) f.get(null);
                    return ret;
                }
            }
        } catch (Throwable t) {
        }

        return null;
    }
}