【发布时间】:2011-11-21 12:56:12
【问题描述】:
我想在我的资源文件res\values\strings.xml 中为 UI 提供 2 种语言并为它们单独的字符串值:
<string name="tab_Books_en">Books</string>
<string name="tab_Quotes_en">Quotes</string>
<string name="tab_Questions_en">Questions</string>
<string name="tab_Notes_en">Notes</string>
<string name="tab_Bookmarks_en">Bookmarks</string>
<string name="tab_Books_ru">Книги</string>
<string name="tab_Quotes_ru">Цитаты</string>
<string name="tab_Questions_ru">Вопросы</string>
<string name="tab_Notes_ru">Заметки</string>
<string name="tab_Bookmarks_ru">Закладки</string>
现在我需要在我的应用中动态检索这些值:
spec.setContent(R.id.tabPage1);
String pack = getPackageName();
String id = "tab_Books_" + Central.lang;
int i = Central.Res.getIdentifier(id, "string", pack);
String str = Central.Res.getString(i);
我的问题是i = 0。
为什么它在我的情况下不起作用?
【问题讨论】:
-
您确定 Central.lang 是
en还是ru? -
需要更多信息来检查您的代码。在得到 i 之前每个 var 的状态是什么?无论如何,您应该使用 Android 中的默认本地化支持来保持简单。