当用户选择语言时如何更改应用的语言?
但是我没有更改textView的语言,而是想创建一个带有该语言名称的按钮,当用户点击它时,它会进入已翻译的第二页。我已经使用这些语言创建了新值,但是无法考虑可以使用这些字符串打开另一个页面的代码。可以帮助我吗,plssss?
答案 0 :(得分:0)
我建议在第一个活动中将语言名称作为额外的意图传递,并在第二个活动中获取它并相应地更新语言。请考虑以下
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);
}
}
希望这有帮助。
答案 1 :(得分:0)
使用本地化即可实现此功能。
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);