2016-03-04 46 views
0

我在兩個xml文件(默認和橫向)中定義活動佈局。在這兩種情況下,我都使用相同的視圖,只改變它們的位置和格式。
這是定義ID的正確方法視圖的屬性:在橫向佈局中定義ID

android:id="@+id/example_text_view" //using @+id in both xml files 

或者:

android:id="@+id/example_text_view" //default orientation xml 

android:id="@id/example_text_view" //landscape orientation xml 

似乎都正常工作,除非我entierly從土地的XML文件中刪除id聲明。

+0

你看到這樣的一個:http://stackoverflow.com/questions/5025910/區別於id和id-in-android/5025971#5025971? –

+0

我知道它們之間的區別,我不知道垂直佈局中的視圖和橫向佈局中的對應視圖是不同的對象,它們都需要單獨的ID,或者這兩個參考內存中的同一個對象? – tomwyr

回答

1

不同之處在於+將在R.java中創建一個新的ID,而其他的將不會。因此,當您引用某個ID時,請不要包含+。看看this link更多信息這個東西

+0

據我所知,如果方向改變,另一個佈局文件將被充入新的對象。這樣我需要爲這兩個視圖指定不同的ID,是嗎? – tomwyr

+0

它由ID引用,因此如果您要根據方向更改佈局,則應爲兩個佈局提供不同的ID。 –

0

您應該使用

android:id="@+id/example_text_view" 

基本上,總是你正在使用的屬性android:id因爲要定義視圖的ID,你應該使用@+id

當你引用另一個視圖時,你應該使用@id,正如Zaid所說。例如:

android:layout_below="@id/example_text_view" 

這樣,你說,這個觀點應該是下面有ID爲「example_text_view」