Android imageView ID无法显示

时间:2012-09-01 16:27:58

标签: android imageview r.java-file findviewbyid

我的main.xml文件中有一个imageView,最初没有设置源代码。我希望能够动态更改代码中的图像资源。所以我让我的imageView设置如下:

            <ImageView
            android:id="@+id/countryImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/CountryImageContent"/>

所以我尝试在我的代码中访问:

ImageView img = (ImageView) findViewById(R.id.countryImage);

问题出在这里。 Eclipse给我一个错误,说“countryImage无法解析或不是字段”。快速查看我的R.java文件,向我显示imageView实际上并不存在。为什么会这样?感谢。

5 个答案:

答案 0 :(得分:1)

如果有任何错误,请查看您的drawable和布局

如果没有尝试清理你的项目

转到项目&gt;干净&gt;选择你的项目

如果没有,那么请查看您的导入

your.packagename.R将其删除

答案 1 :(得分:0)

项目 - &gt;干净。

这是解决这个问题的唯一方法。

另外,请确保在您的导入语句中没有import android.R

检查此link以获取详细步骤。

注意:我假设您的布局和可绘制文件中没有错误,因为它们中的错误也可能导致此问题。

答案 2 :(得分:0)

确保所有资源文件只包含小写字母,数字和下划线字符(“_”)。

只有在创建R文件时没有错误(在“gen”文件夹中),您才能使用它的id。

答案 3 :(得分:0)

我认为给出@string

的名称是个问题

请从@string/CountryImageContent删除所有UpperCase字符,并将其替换为小字符。

R.java文件不支持任何大写字符。当您声明任何资源的文件名时,它会给出相同的错误,例如: - Image, XML, @string, etc..

只需使用CountryImageContent重命名country_image_content即可。它会很完美。

答案 4 :(得分:0)

在这种情况下可以尝试的另一种选择是:文件->使缓存无效/重新启动...