我正在开发一个Android应用程序,到目前为止我添加了更改区域设置的设置,以便用户可以让应用程序中的区域设置与设备上的区域设置不同,现在所有活动都运行正常但是小部件仍然使用设备的区域设置而不是设置为应用程序的区域设置。
有没有办法强制小部件使用除设备之外的其他语言环境,比如活动?
感谢
答案 0 :(得分:-1)
我把语言放在一个微调器里。我将选择的区域设置保存在首选项(prefs)中,并在我更改区域设置的onConfigurationChanged方法中使用它。我认为你做的相同或类似 诀窍在于,在Spinner的OnItemSelected方法中,我还调用OnConfigurationChanged,从资源设置文本并使所有受影响的小部件无效。瞧!所有文本都以所选语言显示。
spLanguages.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
prefs.saveInt("language", spLanguages.getSelectedItemPosition());
lan = spLanguages.getSelectedItemPosition();
onConfigurationChanged(new Configuration());
btnStart.setText(getResources().getString(R.string.main_start));
btnStart.invalidate();
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {}
});