2014-03-04 49 views
1

我正在開發一個Android應用程序,該應用程序使用庫項目,該項目包含我的幾個應用程序在工作區中使用的常規方法。從庫項目中使用庫項目的正確值/ strings.xml

在庫項目中,我有一個類,顯示警告對話框和一些Toast消息的方法。

我想要做的是使用庫的「res/values/strings.xml」值爲這些警報對話框和吐司消息。 問題是,我當然希望根據當前用戶的語言來獲取值是相關的字符串值。 這樣,無論何時我會在的其他應用程序的庫中使用這些方法,我都不必爲應用程序的「values/strings.xml」中的每個應用程序重新翻譯字符串。

在此先感謝!

回答

5

這就是使用庫的美妙之處:無論應用程序中定義的字符串是否覆蓋庫中的字符串。如果我正確理解你的問題,你不應該做任何事情:只要確保字符串名稱保持不變。

請參閱從documentation on libraries這句話:

由於工具合併庫項目的資源與那些 依賴應用程序項目,一個給定的資源ID可能被定義在兩個項目 。在這種情況下,工具將從 應用程序或具有最高優先級的庫中選擇資源,並丟棄其他資源。在開發應用程序時,請注意,常見的 資源ID很可能會在多個項目中定義,並且 將會合並,應用程序或 的資源優先。

+0

顯然我在找的是「getString」方法,我finnaly只能通過參數來使用**活動Activity的上下文**,例如:'theActivityContext.getString(R.string。 Translated_String)' – cREcker