一千萬個為什麽

搜索

如何在運行時更改語言

我在這裏閱讀了有關本地化的內容: http://developer.android.com/guide/主題/資源/ localization.html 但我需要在運行時在我的android應用程序中切換語言,例如通過Spinner。

我試圖用這種方式做subj

DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = new Locale(language_code.toLowerCase(),
coutry_code.toUpperCase());
res.updateConfiguration(conf, dm);

但所有更改僅在重新啟動應用程序後適用 誰能幫助我?

最佳答案

好吧,在本地化指南中,它會自動更新......當我在我的應用程序中使用微調器時,它會正確更新...你在類的底部設置了微調器類嗎?或者只是在你的微調器的選擇中,讓它重新啟動你的意圖,如:

//spinner class start...
if(selected.equals("english") //given selected is a string returned by Spinner
{
   //normal spinner content you have goes here, then
   //for example, finish method, then restart with an intent
   finish()
   Intent myIntent = new Intent(main.this,main.class);
   main.this.startActivity(myIntent);
}
 //or..
if(selected.equals("french"){//continued.. 
   refresh();
}

//given that refresh();
public void refresh(){
   finish()
   Intent myIntent = new Intent(main.this,main.class);
   main.this.startActivity(myIntent);
}

轉載註明原文: 如何在運行時更改語言