1
我想在所有活動中更改語言。是否有任何簡單的方法來改變語言,而不使用字符串資源。我嘗試過類似於下面的代碼,但不行。任何人都可以通過簡單的方式幫助我改變所有活動中的語言嗎?如何在android中更改所有活動的languge
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView arg0, View arg1,
int arg2, long arg3) {
Configuration config = new Configuration();
switch (arg2) {
case 0:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(LocalizationUpdaterActivity.this);
preferences.edit().putString("lang", "ar").commit();
break;
case 1:
break;
default:
config.locale = Locale.TAIWAN;
break;
}
}
public void onNothingSelected(AdapterView arg0) {
// TODO Auto-generated method stub
}
});
施藥代碼:
public class MainApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String lang = preferences.getString("lang", "en");
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
}
}
有沒有什麼方法可以在沒有字符串轉換的情況下改變語言 –
不,但是android提供了一些可以使用的轉換字符串。 – FlanschiFox