2012-06-02 41 views
1

可能重複:
Difference between 「@id/」 and 「@+id/」 in Android的ID在Android的佈局XML有和沒有 「+」

當您創建Android應用程序的佈局XML文件,你通常聲明每個ID佈局元素爲:

@+id/elementID 

不是嗎?我猜「+」意味着這個元素的ID剛剛創建,因此你需要加號,對嗎?

但是,在創建佈局元素之前引用佈局元素時,您需要做些什麼?你是用「+」來引用它,然後在沒有「+」的情況下創建它?簡而言之,以下代碼是否正確(在RelativeLayout容器中)?

<ImageButton 
    android:id="@+id/helpButton" 
    android:layout_toLeftOf="@+id/moreButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 
<ImageButton 
    android:id="@id/moreButton" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" /> 
+0

是的,當你給出的預定義佈局或視圖的參考使用out +像相對佈局rightOf/leeftOF像 –

回答

2

我猜「+」是指剛剛創建這個元素的ID,因此,您所需要的加分,對不對?

是的。

你用「+」來引用它,然後在沒有「+」的情況下創建它嗎?

是的。 第一次出現的ID獲得+。第二次和以後的事件可以使它失效。

簡而言之,以下代碼是否正確(在RelativeLayout容器中)?

那麼,你的ImageButtons是缺少圖片... :-)

話雖這麼說,你的+標誌的使用似乎罰款。

+0

謝謝,這正是我的想法。當然,我的圖像按鈕有圖像,但我把它們關閉了。你可以參考證明這一點的任何資料來源嗎? (因爲其他人對此有不同看法,請參閱其他答案。) – caw

+0

@MarcoW:呃,http://developer.android.com/guide/topics/ui/declaring-layout.html#id,適合初學者。另請參閱Android開發人員網站上的「RelativeLayout」示例。這隻適用於'RelativeLayout' - 其他容器不使用對小部件資源的引用。 – CommonsWare

+0

無法在Android文檔中找到任何證據(請參閱http://developer.android.com/resources/tutorials/views/hello-relativelayout.html),不過謝謝! – caw