0

我的应用程序使用两种语言运行,即英语和西班牙语,为此我维护两个文件夹的值,即 values 和 values-sp。

当我点击整个应用程序更改为所选语言时,我的 SettingsActivity 中有一个按钮,因为我已经编写了附加代码。

我的问题是,当我单击按钮并按下后退按钮时,应用程序会显示黑屏一段时间,然后才会出现。

在简历的每个活动中,我都会再次调用 onCreate 以刷新视图。即使我这样做了,黑屏还是出现了。

任何人都可以帮助我摆脱这种情况。

提前致谢。

我的代码是

english.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) 
                {
                       languagePopup.dismiss();
                       Locale locale2 = new Locale("en"); 
                       Locale.setDefault(locale2);
                       Configuration config2 = new Configuration();
                       config2.locale = locale2;
                       getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
                       changLanguae();
                       if(language.equalsIgnoreCase("English"))
                           Constants.isLanguageChanged=false;
                       else
                           Constants.isLanguageChanged = true;

                }
            });
            spanish.setOnClickListener(new OnClickListener() 
            {

                @Override
                public void onClick(View v)
                {
                       languagePopup.dismiss();
                       Locale locale2 = new Locale("es"); 
                       Locale.setDefault(locale2);
                       Configuration config2 = new Configuration();
                       config2.locale = locale2;
                       getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics());
                       changLanguae();
                       if(language.equalsIgnoreCase("Spanish"))
                           Constants.isLanguageChanged=false;
                       else
                           Constants.isLanguageChanged = true;

                }
            });
4

2 回答 2

1

创建一个复制视图值设置部分的方法,并在 onResume() 上使用此方法。无需在 onResume() 中编写整个 onCreate

于 2013-03-20T14:00:13.377 回答
1

为应用程序更改语言的一种更好的方法是让用户从设备设置中更改语言和输入设置,并让设备和应用程序通过从您创建的该语言的文件夹中呈现 UI 来适当地处理此更改。Android Localization就是一个例子。

于 2013-10-13T06:23:45.230 回答