当前位置: 首页 > 知识库问答 >
问题:

动态获取数组中的所有图像资源id

郏扬
2023-03-14
for(int i=1;i<=9;i++)
    {
            int imageKey = getResources().getIdentifier("img"+i, "drawable", getPackageName());
            ImageView image = new ImageView(this);  
            image.setId(imgId);
            image.setImageResource(imageKey);    
            image.setScaleType(ImageView.ScaleType.FIT_XY);
            viewFlipper.addView(image, new LayoutParams(LayoutParams.FILL_PARENT,              LayoutParams.FILL_PARENT));
            imgId++;
        }

但在该代码中,我需要手动编辑图像名称以获得资源id,但我希望获得所有具有任何名称的图像。

共有1个答案

戚奇略
2023-03-14

您可以使用反射来实现这一点。

导入字段

导入java.lang.reflect.field;

Field[] ID_Fields = R.drawable.class.getFields();
int[] resArray = new int[ID_Fields.length];
for(int i = 0; i < ID_Fields.length; i++) {
    try {
        resArray[i] = ID_Fields[i].getInt(null);
    } catch (IllegalArgumentException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
 类似资料:
  • 本文向大家介绍Android中获取资源 id 及资源 id 的动态获取,包括了Android中获取资源 id 及资源 id 的动态获取的使用技巧和注意事项,需要的朋友参考一下  Android中获取资源 id 及资源 id 的动态获取 我们平时获取资源是通过 findViewById 方法进行的,比如我们常在onCreate方法中使用这样的语句: findViewById是我们获取layout中各

  • 我正试着从我的罐子里加载一个图像。但是,无论我为getResource()提供什么字符串,它总是返回null。 线程“AWT-EventQueue-0”java.lang.NullPointerException在Net.SharpCode.Crawler.UI.CrawlerFrame.init(CrawlerFrame.java:35)在Net.SharpCode.Crawler.UI.Cra

  • 我正在开发一个条形码阅读器应用程序,我想在读取条形码时显示产品图像,所以我用产品条形码编号重命名了照片,并将其放入drawables文件夹。照片名称适用于ex 1234567,请尝试使用条形码编号检索。但我在条形码上出错了。我该怎么做?

  • 有人能让我知道使用数据绑定在图像视图中填充图像资源的正确用法吗

  • 我们有大量Azure订阅,目前已达到数百个。 我希望生成一个报告(理想情况下使用Azure Powershell或Azure CLI),以递归方式提取分配给每个资源组中每个资源的所有标记的列表,用于40-50个订阅。 目前,我可以列出在资源组级别分配的所有标记,但我无法找到一种方法来列出分配给每个资源组中的各个资源的标记。我要提取此报告的订阅和资源组列表保存在CSV文件中,该文件包括两列,分别显示

  • 我知道网上有很多这样的问题(特别是这里),但没有什么能真正帮助我解决问题。我正在使用spring mvc(spring version 3.1.0 Release)并且我想通过URL访问我的静态数据。 我的包: -src --main ---resources ----public 在public内部,我有一个test.xml文件。 这是我的web.xml 这是我的ServletContext.x