我在我的项目中使用静态字符串变量for multi android中的语言应用程序.. 这些字符串值使用其默认值进行初始化 即英语语言价值.. 当用户点击更改语言选项时,我得到了 该语言的语言代码并附加该语言 代码到url,连接到服务器并获取xml格式的数据 并将获取的值分配给各自的字符串。 当用户第一次选择语言时......值是 未更改,默认的英语朗姆值显示在屏幕上.. 当用户第二次选择语言时,所有值都在变化。 当应用程序第一次运行时,会发生此问题。 我的代码是:
public class MenuScreen extends Activity {
// TextView Elements
TextView backup_text=null;
TextView restore_text=null;
TextView terms_text =null;
TextView settings_text=null;
TextView about_text=null;
TextView contactus_text=null;
TextView exit_text=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.activity_menu);
// Setting here the changed values
backup_text = (TextView) findViewById(R.id.tv_backup);
backup_text.setText(Strings.BACKUP);
//Strings.BACKUP contains the changed values of language
restore_text = (TextView) findViewById(R.id.tv_restore);
restore_text.setText(Strings.RESTORE);
terms_text = (TextView) findViewById(R.id.tv_terms);
terms_text.setText(Strings.TERMS);
settings_text = (TextView) findViewById(R.id.tv_settings);
settings_text.setText(Strings.SETTINGS);
about_text = (TextView) findViewById(R.id.tv_aboutus);
about_text.setText(Strings.ABOUT);
contactus_text = (TextView) findViewById(R.id.tv_contactus);
contactus_text.setText(Strings.CONTACT_US);
exit_text = (TextView) findViewById(R.id.tv_logout);
exit_text.setText(Strings.EXIT);
答案 0 :(得分:0)
如果我理解你的问题&正确的代码,该语言第一次没有更改,因为已加载 旧语言。
我能想到的最简单的方法是移动所有的setText代码:
about_text.setText(Strings.ABOUT);
//and all setText code
到onClick
或您喜欢的任何内容,因此当用户点击按钮(例如)时,文字将使用新的语言进行更改。
如果我想念你,请随意评论。