ImageView-无法按ID查找图像

时间:2014-08-05 15:22:15

标签: java android

似乎当我尝试在ImageView中设置图像的ID时,我收到错误

imageView1 = (ImageView) findViewById(R.id.image1);

*“R.id.image1”错误

当我查看R.java时,我放入res的图像名称是可绘制的类而不是id类。

public static final class drawable {
        public static final int image1=0x7f020011;
        public static final int image2=0x7f020012;
        public static final int image3=0x7f020013;
        public static final int ic_launcher=0x7f020017;
    }
    public static final class id {
        public static final int button1=0x7f080002;
        public static final int button2=0x7f080003;
        public static final int button3=0x7f080004;
        public static final int button4=0x7f080005;
        public static final int imageView1=0x7f080001;
    }

但是当我把“R.drawable.image1”它看起来工作正常但是R.id是必要的,以避免任何未来的错误。什么似乎是问题?我该如何解决?我似乎无法找到任何相关的帖子。

2 个答案:

答案 0 :(得分:1)

您正在调用findViewById(),它会在View层次结构中搜索具有您提供的ID的View对象。

您在image1中尝试查找的R ID实际上是可绘制的ID。您无法通过其可绘制的ID搜索视图 - 您只能通过该视图的ID搜索视图。

根据R中的其他ID,您真正想要做的就是致电findViewById(R.id.imageView1);

R.drawable.image1可用于引用drawable,例如,如果要将View的背景设置为可绘制的。

R.id.imageView1可用于在布局中引用ImageView。

答案 1 :(得分:0)

将其添加为可绘制

imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView1.setResourceDrawable(R.drawable.image1);