Android 更疯狂。更改布局文件会将文本视图转换为线性布局

Android 更疯狂。更改布局文件会将文本视图转换为线性布局,android,eclipse,adt,Android,Eclipse,Adt,刚刚对我的layout.xml进行了更改,所有内容都经过编译,然后我得到了一个奇怪的错误,即无法将TextView强制转换为ImageView。另一个改变,我得到了一个奇怪的错误,说不能将相同的文本视图投射到LinearLayout???事实证明,虽然一切都可以编译好,但有时如果你不做一个干净的项目,你的TextView小部件可能只是指向一个相对的对象!!!有人知道原因吗?下面是原因: 您可能已经在gen文件夹中看到了文件R.java 打开那个文件 它包含所有(R)eSource的内存地址和标识

刚刚对我的layout.xml进行了更改,所有内容都经过编译,然后我得到了一个奇怪的错误,即无法将TextView强制转换为ImageView。另一个改变,我得到了一个奇怪的错误,说不能将相同的文本视图投射到LinearLayout???事实证明,虽然一切都可以编译好,但有时如果你不做一个干净的项目,你的TextView小部件可能只是指向一个相对的对象!!!有人知道原因吗?

下面是原因:

您可能已经在
gen
文件夹中看到了文件
R.java

打开那个文件

它包含所有(R)eSource的内存地址和标识符


更改布局文件时,这些内存地址会过时,并指向错误的视图元素。清理/构建将删除R.java文件并重新创建它,这是更改视图后的一个必要步骤。

如果没有发布相关代码,很难猜测问题出在哪里。我首先建议对项目进行
清理
重建
,如果这不能解决问题,请仔细检查布局文件和使用这些布局文件的Java代码。你刚才重复了我的问题吗?你以前听说过吗?也许吧,但遇到问题时我就是这样解决的。此外,您可能需要启用“自动生成”。确定。我会检查是否有自动生成。但布局之外的其他变化似乎也被接受了。是的,我想“自动生成”已经关闭了。谢谢有没有文件记载更改布局文件后需要进行清理?嗯,没有线索,可能在R文档中?并不是每次更改之后,我都会说错话——我只注意到当我更改
id
s或移动已经存在的元素时——更改
属性
(如宽度/高度/文本大小等,除了
id
)不需要干净/构建。Ok。在我的例子中,我移动了部分布局。但是根本没有改变任何属性。是的,改变顺序就可以了