find system Drawable Id via reflection - Android App

Android examples for App:R

Description

find system Drawable Id via reflection

Demo Code

/**// w  w w. ja v  a2  s . co m
 * Copyright (c) {2003,2011} {openmobster@gmail.com} {individual contributors as indicated by the @authors tag}.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 */
//package com.java2s;
import java.lang.reflect.Field;
import android.app.Activity;

public class Main {
    public static int findDrawableId(Activity activity, String variable) {
        try {
            String idClass = activity.getPackageName() + ".R$drawable";
            Class clazz = Class.forName(idClass);
            Field field = clazz.getField(variable);

            return field.getInt(clazz);
        } catch (Exception e) {
            return -1;
        }
    }
}

Related Tutorials