2014-04-08 30 views
1

將佈局xml文件中的視圖的android:text屬性設置爲@+id/xyz之類的內容意味着什麼。一個例子可以在這裏複製https://github.com/freezy/android-xbmcremote/blob/master/res/layout/actor_item.xml將android:text設置爲@ + id/xyz的含義

相關代碼中找到:

<TextView 
     android:text="@+id/actor_name" 
     android:id="@+id/actor_name" 
     android:textColor="#ffffff" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
    <TextView 
     android:text="@+id/actor_role" 
     android:id="@+id/actor_role" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
+0

你看過了:http://developer.android.com/training/basics/firstapp/building-ui.html –

+4

這是'android:text =「@ + id/actor_name」'設置文本錯誤。您可以將文本設置爲android:text =「hello」或android:text =「@ string/hello」'。你所要求的是爲'TextView'設置ID。 – Piyush

回答

1

這並沒有太大的意義。據documentation分配給android:text什麼必須是一個字符串值:

必須是一個字符串值,使用\\;逃脫字符,如\\n\\uxxxx對於Unicode字符。

這也可能是對資源(形式爲「@ [package:] type:name」)或主題屬性(形式爲「?[package:] [type:] name」)的引用,其中包含這種類型的值。

@id的值是整數。

+0

奇怪的是,該項目可以編譯得很好。也許編譯器忽略該設置? – dacongy

+0

@dacongy嗯,不知道編譯器......但是當你運行它時它會做什麼? – Szymon

0

「android:text」需要將String設置爲它。這是將出現在TextView中的文本。

您可以使用一個簡單的字符串或使用@string提取從RES /價值/ strings.xml中的字符串

<TextView 
    android:text="@string/actor_name" 
    android:id="@+id/actor_name" 
    android:textColor="#ffffff" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

「@ + D/I」是一種行動,告訴了android框架來創建一個id。加號+表示這是一個新的資源ID,如果不存在,將被創建。

1

「@ + D/I」是指你給了textview這將有助於確定textviewandroid:text就像textview的身體ü可以付出一切,其中U要顯示一個唯一的名稱或ID。

0

請訪問:http://developer.android.com/guide/topics/ui/declaring-layout.html#id

加號(+)號只是表明它,如果它不存在下此刻的ID應該被創建。

在佈局中定義新視圖時使用@ + id/something,然後使用@ id/something從佈局的另一部分引用視圖(比如在任何RelativeLayout中)或R.id.something從我們的java代碼引用它。

相關問題