我的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
即可。它会完美地工作。
在这种情况下可以尝试的另一个选项是:文件-->使缓存无效/重新启动