0

我的 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 实际上并不存在。为什么会这样?谢谢。

4

5 回答 5

1

如果有任何错误,请查看您的可绘制对象和布局

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

转到项目>清理>选择您的项目

如果没有,请查看您的进口商品

your.packagename.R 删除它

于 2012-09-01T16:32:04.277 回答
0

项目 -> 清理。

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

还要确保在你的导入语句中,你没有这个:import android.R

检查此链接以获取详细过程。

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

于 2012-09-01T16:30:06.483 回答
0

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

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

于 2012-09-01T18:37:44.487 回答
0

我认为给出名字是个问题@string

请删除所有大写字符 @string/CountryImageContent并用小字符替换。

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

只需重CountryImageContent命名country_image_content. 它会完美运行。

于 2012-09-01T18:53:47.780 回答
0

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

于 2020-07-07T09:22:42.533 回答