2011-08-21 23 views
2

正如您所知,您可以在res/values之內編寫任何需要的資源。 我爲每個使用的gui/activity創建了一個xml文件。這裏有一個例子:在Android資源中保留字符串值

的strings.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="hello">This is home!</string> 
    <string name="app_name">Hattrick4Manager</string> 
    <string name="oauth_button">Authorize me!</string> 
    <string name="download_button">Syncronize</string> 
    <string name="oauth_name">Authorization</string> 
</resources> 

更新ui.xml

<resources> 
     <string name="inizio_download">Update Started...</string> 
     <string name="fine_download">Update Completed...</string> 
     <string name="update_title">Update</string> 
     <string name="update_done">Done</string> 
     <string name="update_inizio_club">Club...</string> 
     <string name="update_inizio_arena">Arena...</string> 
     <string name="update_inizio_fan">Fans...</string> 
     <string name="update_inizio_matches">Matches...</string> 
     <string name="update_inizio_league">League...</string> 
     <string name="update_inizio_leaguefix">League Fixtures...</string> 
     <string name="update_inizio_economy">Economy...</string> 
     <string name="update_inizio_players">Players...</string> 
</resources> 

當我使用這個代碼我不得不召回他們喜歡:

R.string.update_done 

R.string.hello 

我的問題是,像這樣我基本上都會爲每個圖形用戶界面添加前綴。我寧願做類似的事情:

R.string.update-ui.done 

這可能嗎?

+0

沒有回答,只是一個問題的內容。如果在幾項活動中存在「完成」文本,應該發生什麼?你想把它放在幾十個文件中嗎?那翻譯的文字呢?我不喜歡你的方法。完成已完成。給它命名並在一箇中央strings.xml中使用它。只是我2美分。 –

+0

那麼,「完成」不能有不同的語義,因爲這個詞很清楚,但我想表達「完成」的方式可能會有所不同。在我的情況下,我有我的更新-UI「完成」 - >「更新完成」,我也可以在競技場 - 用戶「完成」 - >「建設席位完成」 – dierre

+0

我不明白。文本是'完成',對吧?在這兩項活動上?有什麼問題?如果您需要創建不同的語義,請使用text =「Done」和name =「buildingseatscompleted」的name =「updatecompleted」,並使用「完成」文本。這是一個古老的討論使用什麼標籤。我更喜歡使用貼近文本的標籤,而不是靠近活動/包/ ... –

回答

2

您可以根據需要創建任意數量的資源文件,但無法基於文件名執行嵌套名稱引用:Android aapt工具不支持生成的R對象上的任意嵌套對象。

你也許可以做到這樣的東西在update-ui.xml

<resources> 
     <string name="update_ui_inizio_download">Update Started...</string> 
     <string name="update_ui_fine_download">Update Completed...</string> 
</resources> 

然後用

R.string.update_ui_inizio_download 

中引用文件

+0

這是一個無賴,tnx無論如何。 – dierre