Android 当用户选择语言时,如何更改应用程序的语言?
当用户选择语言时,如何更改应用程序的语言 我想这样做:Android 当用户选择语言时,如何更改应用程序的语言?,android,multilingual,idioms,multiple-languages,Android,Multilingual,Idioms,Multiple Languages,当用户选择语言时,如何更改应用程序的语言 我想这样做: 但是,我不想更改textView的语言,而是想创建一个带有语言名称的按钮,当用户单击该按钮时,它会转到已翻译的第二个页面。我已经用这些语言创建了新的值,但想不出一个代码可以用这些字符串打开另一个页面。有人能帮我吗,PLSSS?我建议在第一个活动中将语言名称作为额外的意图传递,并在第二个活动中获取它,并相应地更新语言。考虑下面的 public class MainActivity extends AppCompatActivity {
但是,我不想更改textView的语言,而是想创建一个带有语言名称的按钮,当用户单击该按钮时,它会转到已翻译的第二个页面。我已经用这些语言创建了新的值,但想不出一个代码可以用这些字符串打开另一个页面。有人能帮我吗,PLSSS?我建议在第一个活动中将语言名称作为额外的意图传递,并在第二个活动中获取它,并相应地更新语言。考虑下面的
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// findViewbyId here for button
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, OtherActivity.class);
intent.putExtra("lang", "fr");
startActivity(intent);
}
});
}
}
在另一项活动中
public class OtherActivity extends AppCompatActivity {
@Override
private void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String lang = getIntent().getStringExtra("lang") == null ? getIntent().getStringExtra("lang") : "en";
// assuming this is the method you have to call to change the language
changeLang(en);
}
}
希望这有帮助。使用本地化来实现这一点
String languageToLoad = "hi"; // change your language her this is for hindi
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
this.setContentView(R.layout.main);
你可以从“我不想使用位置”中学习,因为用户必须选择应用程序的语言,所以你想让用户选择应用程序的语言,而无需更改其手机的语言。如果我使用location,应用程序将自动翻译(这不是我想要的)。我的想法是创建4个按钮(对应于4种语言),当用户单击它们时,它将转到已翻译的第二个页面。