Android imageview无法识别

时间:2014-02-18 03:41:08

标签: java android

我在一个活动中有一个imageview,我试图用它来显示列表中的第一个图像(当从图库中选择另一个图像时将切换它)

<ImageView
    android:id="@+id/imageView1"
    android:layout_marginTop="100dp"
    android:layout_width="250dp"
    android:layout_gravity="center_horizontal"
    android:layout_height="250dp"
    android:src="@drawable/image1" />

现在我的R.java有以下代码:

public static final class drawable {
    public static final int ic_launcher=0x7f020000;
    public static Integer image1;
    public static Integer image2;
    public static Integer image3;
    public static Integer image4;
    public static Integer image5;
    public static Integer image6;
    public static Integer image7;
    public static Integer image8;
}

但是eclipse不喜欢这个,我无法启动应用程序。

同样,我有一个MyGallery类和一个负责操作这些图像的适配器,但是适配器由于某种原因不能“看到”这些变量(尽管它们是公共静态的)。

3 个答案:

答案 0 :(得分:0)

Integer是一个类,int是基本类型。将整数更改为int。

答案 1 :(得分:0)

SDK将为您生成R.java。无需手动编辑。

如果您没有编辑R.java,那么您需要构建项目。目前,所有变量都没有分配给任何值。

关于SDK自动化R.java文件:

如果将图像导入/res/..目录,SDK将自动生成静态可绘制类。

然后在XML中,您可以指定可绘制项的源。如果我导入了一张图片,比如myImage.png,那么以下代码就是合适的:

<ImageView
    android:id="@+id/imageViewExample"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/myImage" />

答案 2 :(得分:0)

sdk为你生成一个id,而id是一种访问资源的方式,因此编辑它是没有意义的,你不应该这样做。重建您的项目,然后SDK将生成ID。只需在android:id="@+id/<idName>"中指定和ID名称,如果您想在ImageView中使用src属性指定图片,则sdk将完成其工作,如下所示:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/image" />