Android 强迫;地点“;应用中
我想旋转我的手机并保持区域设置。我有文件夹值、值en和值hr。在我的每一项活动中Android 强迫;地点“;应用中,android,locale,Android,Locale,我想旋转我的手机并保持区域设置。我有文件夹值、值en和值hr。在我的每一项活动中 android:configChanges="keyboardHidden|orientation|locale" 在我所有的activity.java文件中 private Locale locale = null; @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfiguration
android:configChanges="keyboardHidden|orientation|locale"
在我所有的activity.java文件中
private Locale locale = null;
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (locale != null)
{
newConfig.locale = locale;
Locale.setDefault(locale);
getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
}
}
再创造
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
Configuration config = getBaseContext().getResources().getConfiguration();
String lang = settings.getString("language","en");
if (! "".equals(lang) && ! config.locale.getLanguage().equals(lang))
{
locale = new Locale(lang);
Locale.setDefault(locale);
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
它一直工作到我旋转我的手机-应用程序仍在工作,按钮和一切都很好-但语言环境变得奇怪-有时是我的语言环境(hr)有时是(en)
我还需要添加什么?我只是删除了“如果”,现在一切正常。是的,每次“重新强制”一个区域设置都有点“笨重”,但我找不到其他方法
我的解决方案有点不同,我只是在onCreate和onConfigChange上“重新强制”它-不是每100毫秒左右,而是在Desire(2.2)上,它工作得完美无缺
@奥斯汀
是的,这几乎是同一个问题,但我认为除了“100毫秒强制”之外还有其他解决方案
@玛拉
用户希望使用他们的母语(HR),但(当前)手机不支持它,所以这是唯一的方法-强制使用它=/我只是删除了“如果”,现在一切都正常了。是的,每次“重新强制”一个区域设置都有点“笨重”,但我找不到其他方法
我的解决方案有点不同,我只是在onCreate和onConfigChange上“重新强制”它-不是每100毫秒左右,而是在Desire(2.2)上,它工作得完美无缺
@奥斯汀
是的,这几乎是同一个问题,但我认为除了“100毫秒强制”之外还有其他解决方案
@玛拉
用户希望使用自己的母语(HR),但(当前)手机不支持这种语言,所以这是唯一的方法-强制使用=/为什么你要干扰语言环境,而不是让android系统为你处理它?我相信这可能是一个重复的问题:,如果我错了,请纠正我。请查看我的解决方案:。它非常简单,不需要对您的活动进行任何更改。您是否忘记重置contentView,例如setContentView(R.layout.mylayout)?为什么您要搞乱区域设置,而不是让android系统为您处理它?我相信这可能是一个重复的问题:,如果我错了,请纠正我。请查看我的解决方案:。它非常简单,不需要对您的活动进行任何更改。您是否忘记重置contentView,例如setContentView(R.layout.mylayout)?