2012-07-03 90 views
2

我是Android編程新手。我花了很長時間試圖在我的代碼中查找「虛線斷點」錯誤,直到我更改了字符串資源名稱之前,我都無法弄清楚它。可能有相同的@ + id和@string?

我有一個包含

<item android:id="@+id/menu_about" 
    android:title="@string/menu_about" 
    android:icon="@drawable/ic_menu_about"></item> 

我的問題的options.xml菜單 - 我有@+id/menu_about@string/menu_about。這可能嗎?

非常感謝您

回答

0

是的,這是可能的。

R.java本身被組織成字符串,ids,drawables等的一些子類。可能有兩個具有相同名稱的不同資源,因爲它們將是不同類的成員。但是,您不能擁有兩個具有相同名稱的資源,例如兩個名爲「foo」的字符串。

2

,其可能的,你可以檢索R.string.menu_aboutR.id.menu_about.

,並自動生成R.java有不同勢類爲。

+0

我認爲第二個應該是'R.id.menu_about' =) – MattDavis

+0

@MattDavis thanx –

0

是的,你可以給同名@+id & @string

這兩個都在R.java不同類別的商店。如果您聲明@+id/menu_about這將存儲在id類。等等。

1

@ + id/menu_about創建ID爲「menu_about」的項目元素....在您的代碼中,@ string/menu_about將標題設置爲values文件夾中strings.xml文件中存儲的任何內容(即R.string.menu_about)

+0

what for?爲什麼是負面投票? – drulabs

+0

我沒有降低它的效率,但很可能是因爲OP詢問兩個資源是否有可能具有相同的名稱而被低估。他不問資源是做什麼的,這就是你的回答所說的。 –

+0

哎呀對不起,我誤解了....感謝您解釋拉格哈夫。 – drulabs

相關問題