android - 更改 Android 应用程序中的区域设置不会更改 Activity 标签

标签 android android-activity menu label locale

我正在用两种语言开发应用程序。用户通过在菜单中选择他们想要的语言来更改区域设置。这有效,除了 Activity 标签之外,所有内容都可以翻译。我尝试了在互联网上找到的所有方法,但似乎没有任何效果。

这是我的 onOptionsItemSelected 代码

public boolean onOptionsItemSelected(MenuItem item) {

    int id = item.getItemId();


    if (id == R.id.france) {
        Locale mLocale = new Locale("fr");
        Locale.setDefault(mLocale);
        Configuration config = getBaseContext().getResources().getConfiguration();
        if (!config.locale.equals(mLocale)) {
            config.locale = mLocale;
            getBaseContext().getResources().updateConfiguration(config, null);
        }
        finish();
        Intent getOneIntent = new Intent(this, OneActivity.class);
        startActivity(getOneIntent);
    } else if(id==R.id.english){
        Locale mLocale = new Locale("en");
        Locale.setDefault(mLocale);
        Configuration config = getBaseContext().getResources().getConfiguration();
        if (!config.locale.equals(mLocale)) {
            config.locale = mLocale;
            getBaseContext().getResources().updateConfiguration(config, null);
        }

        finish();
        Intent getOneIntent= new Intent(this, OneActivity.class);
        startActivity(getOneIntent);

    }


    return super.onOptionsItemSelected(item);
}

最佳答案

我也遇到了同样的问题。更改区域设置语言后,我可以使用 setTitle(getResources.getString(R.string.my_title)) 来“修复”此问题。如果您实现 Fragment,我想应该使用 getActivity().setTitle() 来调用它。另外,我用下一个方法清理任务:

public static void appRestart(Activity Activity ) { Intent i = new Intent(activity.getBaseContext(), MyClass.class); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); Activity .startActivity(i); }

希望对你有帮助...

关于android - 更改 Android 应用程序中的区域设置不会更改 Activity 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182285/

相关文章:

android - 将静态 HTML 加载到 Webview

javascript - 下拉菜单 : drop down lists horizontal underneath main menu

WPF:带按钮的动态菜单

javascript - 如何使用 jQuery 切换修复此脚本?

Android - 编辑文本 : Hint disapear when Scroll horizontally is true

android - Android中BluetoothLeScanner的setReportDelay的目的是什么

android - RelativeLayout 有效,而 ConstraintLayout 失败

android - 如何判断 Android 应用程序是否在前台运行?

android - 从后台调用什么方法

android - Activity 的每个 fragment 中 float 操作按钮的不同实现