Android imageView id not showing



我的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实际上并不在其中。为什么会发生这种情况?谢谢

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

如果不尝试清理你的项目

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

如果没有,那么查看你的进口

您的.backagename.R将其删除

项目->清洁

这是唯一的解决办法。

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

有关详细步骤,请查看此链接。

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

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

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

我认为这是给@string 命名的问题

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

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

只需将CountryImageContent重命名为country_image_content即可。它会完美地工作。

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

最新更新