相关疑难解决方法(0)

在应用程序内更改区域设置

我的用户可以更改应用内的区域设置(他们可能希望将手机设置保留为英文,但可以用法语,荷兰语或任何其他语言阅读我的应用内容...)

为什么这个在1.5/1.6中完全正常但在2.0中不再是???

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
    case 201:
        Locale locale2 = new Locale("fr"); 
        Locale.setDefault(locale2);
        Configuration config2 = new Configuration();
        config2.locale = locale2;
        getBaseContext().getResources().updateConfiguration(
            config2, getBaseContext().getResources().getDisplayMetrics());
        // loading data ...
        refresh();
        // refresh the tabs and their content
        refresh_Tab ();   
     break;
     case 201: etc...
Run Code Online (Sandbox Code Playgroud)

问题是,每当用户通过以上代码行时,MENU"缩小"越来越多......

这是缩小的菜单:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 100, 1, "REFRESH").setIcon(android.R.drawable.ic_menu_compass);
    SubMenu langMenu = menu.addSubMenu(0, 200, 2, "NL-FR").setIcon(android.R.drawable.ic_menu_rotate);
        langMenu.add(1, 201, 0, "Nederlands");
        langMenu.add(1, 202, 0, "Français");
    menu.add(0, 250, 4, R.string.OptionMenu2).setIcon(android.R.drawable.ic_menu_send);
    menu.add(0, 300, …
Run Code Online (Sandbox Code Playgroud)

android locale menu

195
推荐指数
5
解决办法
15万
查看次数

如何从Android中的不同语言环境中获取字符串?

因此,无论设备/应用程序的当前语言环境设置如何,我都希望在多个语言环境中获取String的值.我该怎么办?

基本上我需要的是一个功能getString(int id, String locale)而不是getString(int id)

我怎么能这样做?

谢谢

android locale android-resources

62
推荐指数
3
解决办法
4万
查看次数

从资源加载语言特定的字符串?

在我的一个Android应用中,我需要加载特定语言的字符串.例如:

 values:    <string name="txt_help">Help</string>
 values-de: <string name="txt_help">Hilfe</string>
 values-fr: <string name="txt_help">Aider</string>
Run Code Online (Sandbox Code Playgroud)

现在我需要默认(值)文本.

有没有办法加载给定语言"en"的密钥"txt_help"?我找不到可以将语言环境设置为附加参数的方法.

或者我可以创建具有给定语言环境的新ResourceManager并通过此资源对象读取String吗?

提前谢谢了.HJW

string resources android

33
推荐指数
1
解决办法
2万
查看次数

标签 统计

android ×3

locale ×2

android-resources ×1

menu ×1

resources ×1

string ×1