我正在寻找一种方法来实现由按钮 onclick 触发的语言更改。我已经在正确的文件夹中创建了正确的 strings.xml (例如 res/values-en/),这是我的按钮代码:
Button setEN_bt = (Button) findViewById(R.id.setEN);
setEN_bt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Locale locale_en = new Locale("en");
Locale.setDefault(locale_en);
Configuration config_en = new Configuration();
config_en.locale = locale_en;
getBaseContext().getResources().updateConfiguration(config_en, getBaseContext().getResources().getDisplayMetrics());
}
});
所以基本上我用 onclick 更改了区域设置,但页面随后没有刷新(为什么应该......:))。有人可以告诉我如何刷新/重新加载 Activity 吗?
提前感谢您的帮助。
最佳答案
您可以尝试调用
view.invalidate();
在您想要重绘自身的 View 上。
我不确定这是否会重新加载区域设置。如果没有,您可以通过为自己创建一个新的 Intent 来重新启动 Activity:
Intent intent = new Intent(this, Activity.class);
startActivity(intent);
干杯
关于java - java android 中的 Onclick 按钮语言更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13140061/