以编程方式从Android中的R文件中获取所有图像



我想知道是否有一种方法可以通过资源文件迭代获取程序的所有图像并将它们推入数组?

如果是,最简单的方法是什么?怎么做?

您可以通过在java中使用反射来完成此操作。

如果你还不熟悉它,这里有一个很好的起点在programcreek.com:

http://www.programcreek.com/2013/09/java-reflection-tutorial/

简单地说,作为一个例子,您可以使用以下示例代码在代码中遍历R:
import java.lang.reflect.Field;
import android.util.Log;
public class ResourceUtil {
/**
 * Finds the resource ID for the current application's resources.
 * @param Rclass Resource class to find resource in. 
 * Example: R.string.class, R.layout.class, R.drawable.class
 * @param name Name of the resource to search for.
 * @return The id of the resource or -1 if not found.
 */
public static int getResourceByName(Class<?> Rclass, String name) {
    int id = -1;
    try {
        if (Rclass != null) {
            final Field field = Rclass.getField(name);
            if (field != null)
                id = field.getInt(null);
        }
    } catch (final Exception e) {
        Log.e("GET_RESOURCE_BY_NAME: ", e.toString());
        e.printStackTrace();
    }
    return id;
}

同样,你可以参考这些问题来获得更多的见解:Android:通过编程遍历资源id

相关内容

  • 没有找到相关文章

最新更新