我有一个Android应用程序,我有不同的活动,在那些活动中,我有不同的文本视图。我有两个语言的按钮,一个用于英语,另一个用于中文。现在,我希望用户按中文后立即用其他语言更改所有文本视图。
这是我的一项活动......
public class AndroidLocalize extends Activity {
TextView tv;
Button b1,b2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.textView1);
b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
tv.setText(R.string.greet);
}
});
b2 = (Button) findViewById(R.id.button2);
b2.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Locale locale = new Locale("hi");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
tv.setText(R.string.greet);
}
});
}
我能够在同一个活动中点击按钮语言,现在我想在另一个活动中使用语言。这是我的另一项活动..
public class Laanguage extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.language);
TextView tv;
tv = (TextView) findViewById(R.id.textView2);
}
答案 0 :(得分:0)
因此,您可以分别在主要活动和子活动中使用 Intent的 putExtra 和 getExtra 方法。
答案 1 :(得分:0)
您应该将所选语言保存到SharedPreference并在每个Activity的onCreate
中保存语言并相应地更改TextView。
public class Statics {
public static final String LANGUAGES_PREFS = "MyLanguagesPrefs";
}
当用户将语言更改为时,请说英语:
SharedPreferences language = getSharedPreferences(Statics.LANGUAGES_PREFS, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = language.edit();
editor.putString("language", "English");
在每个活动的onCreate
中:
SharedPreferences language = getSharedPreferences(Statics.LANGUAGES_PREFS, Context.MODE_PRIVATE);
String language = language.getString("language", "");
// Change the TextViews
详细了解SharePreferences。