2011-07-04 41 views
15

值/ string.xml剪斷代碼:是否可以在Android中訪問字符串數組項?

<array name="categories"> 
    <item name="today">Today</item> 
    <item name="life">Life</item> 
    <item name="corner">Corner</item> 
    <item name="banks">Banks</item> 
    <item name="it">IT</item> 
    <item name="fun">Fun</item> 
</array> 

剪斷代碼從佈局/ main.xml中

<Button 
    android:id="@+id/today" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="8sp" 
    android:text="@array/categories" 
    /> 

是否有可能一個標籤名稱分配給一個按鈕id =今天直接從值/ string.xml使用字符串數組與名稱=類別和特定的ite m,在這種情況下 - 今天

+0

啊,所以你的意思是機器人:文本=「@陣列/類別[0 ]「(這是不正確的),但這就是你想要的嗎?試過android:text =「@ array/categories.today」? – Blundell

+0

這是正確的,我的意思!但'android:text =「@ array/categories.today」'不起作用,其他猜測? – nenito

回答

19

查看所選答案在這裏:Android - reference a string in a string array resource with xml

根據這個問題的答案,必須做這樣的事情:

<string name="earth">Earth</string> 
<string name="moon">Moon</string> 

<string-array name="system"> 
    <item>@string/earth</item> 
    <item>@string/moon</item> 
</string-array> 

,那麼只需在做:

<Button .... 
    android:text="@string/earth" /> 
+3

我想你誤解了我。我想獲取在** values/string.xml **文件中聲明的單個數組項的值,並將該值用於按鈕的文本。 'android:text =「@ array/categories/」' – nenito

+4

對,上面顯示的技術顯示瞭如何做到這一點。你只需要改變你的數組值就像上面那樣構造。再看看並嘗試一下。閱讀我發佈的鏈接中的答案。 – Fraggle

+2

所以,實際上這樣做是不可能的,因爲它們都沒有任何意義:' Earth Moon'和 '<字符串數組名=「系統」> @串/大地 @串/月亮 ' – nenito

相關問題