2012-09-07 27 views
0

剛剛對layout.xml進行了更改所有內容都編譯完成,然後出現一個奇怪的錯誤,說不能將TextView轉換爲ImageView。另一個變化,我得到了一個奇怪的錯誤,說不能將相同的TextView投射到LinearLayout?事實證明,雖然一切都可以編譯好,有時如果你不做一個乾淨的項目你的TextView小部件可能只是指向一個RelativeLayout!有誰知道爲什麼?更偏食精神錯亂。更改佈局文件將TextView轉換爲LinearLayouts

+1

沒有發佈相關的代碼,很難猜測問題是什麼。我首先會建議項目的「clean」和「rebuild」,如果不能解決問題,請仔細檢查佈局文件和使用這些佈局文件的Java代碼。 – neevek

+0

你剛剛重複我的問題嗎?你之前聽說過嗎? –

+0

也許,但這就是我在遇到問題時如何解決它的方法。另外,你可能想打開'自動生成'。 – neevek

回答

2

所以這裏的原因:

你可能已經看到在gen文件夾中的文件R.java

打開該文件。

它包含所有(R)資源的內存地址和標識符。

當您更改佈局文件時,這些內存地址變得過時並指向錯誤的視圖元素。 clean/build將刪除R.java文件並重新創建它,並且是更改視圖後的必要步驟。

+0

更改佈局文件後需要清理乾淨的地方在哪裏? –

+0

嗯不知道,也許在R文檔?而不是在每次改變之後,我都會錯過 - 我只注意到當我改變'id's或者移動已經存在的元素時 - 改變'attributes'(比如width/height/textSize/etc,除了'id')不需要清理/構建。 – edthethird

+0

好的。在我的情況下,我移動了部分佈局。但根本沒有改變任何屬性。 –