2011-06-07 58 views
0

通常我使用getString(R.string。)查詢xml文件中的字符串。有什麼辦法通過getString(「」)來查詢xml文件。因爲在我的代碼中,我想根據條件動態加載資源文件中存在的字符串。任何幫助將對我學習android非常有用。動態查詢字符串是Strings.xml文件

-Regards, 羅恩..

+0

不清楚你將如何動態地在字符串文件中放置字符串。 – woodshy 2011-06-07 12:59:56

+0

對不起,我的英文。我在strings.xml文件中設置了錯誤代碼和相應的錯誤字符串。我想顯示與我從程序中獲得的錯誤代碼相對應的錯誤字符串。是否有可能從xml文件中動態獲取字符串? – Ron 2011-06-07 14:36:05

回答

0

可以動態檢索字符串資源的ID如下:

int resId = getResources().getIdentifier("key_name", "string", getPackageName()); 
Log.d("MyApp", "resource id is " + resId + " and value is " + getString(resId)); 

凡KEY_NAME是在strings.xml一個字符串的名稱。

我希望我能正確理解你的問題。

+0

謝謝!這是我正在尋找的。 – Ron 2011-06-07 14:44:42

+0

當然 - 值得注意的是,這比僅僅引用R.string.key_name更慢(根據android.com上的文檔)。如果您的項目數量有限,則對它們進行硬編碼可能更有意義。另外,要小心檢查resId == 0是否意味着該字符串不存在。 – 2011-06-07 14:47:26

+1

是的,當然!只是一個想法,分享這個[鏈接](http://daniel-codes.blogspot.com/2009/12/dynamically-retrieving-resources-in.html),我通過搜索互聯網找到關於getIdentifier()的限制。 – Ron 2011-06-07 14:59:58