我已经在我的应用程序中实现了选择GUI语言的选项,但是当选择新语言时我无法刷新屏幕。
选择是通过ListPreference
进行的,因此存在两个问题:
1.刷新选择语言的Preference
页面。
2.应用启动时,我在Locale
的{{1}}上设置了onCreate()
,但MainActivity
布局永远不会使用新选择的区域设置进行更新。 (所有其他屏幕都会更新,因此设置的代码很好。)
以下是设置新语言环境的代码:
MainActivity
谢谢
答案 0 :(得分:0)
尝试在选择新的区域设置
后刷新MainActivity使用它来重新加载主要活动或任何活动
public void refrehs_me()
{
Intent intent = getIntent();
finish();
startActivity(intent);
}
编辑:正如我从上面的解释中得到的那样,您可以保存在共享首选项中选择的新语言环境。
在名为(locale_changed)的共享首选项中创建一个新的布尔键 - 当用户选择新的语言环境时,将此键设置为(TURE),并在为此键设置新的语言环境检查后设置onCreate if if(TRUE)设置它到(FALSE)并重新加载活动。
在第二步它不会循环,因为密钥保持(FALSE),直到用户再次更改区域设置首选项。
答案 1 :(得分:0)
答案是在设置屏幕内容之前将呼叫定位到setLocale
:
setLocale();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);