0

我的应用程序运行两种语言,即英语和西班牙语,为此,我维护两个值的文件夹,即值和值-SP。更改应用程序语言在android中的按钮点击

我在设置活动中有一个按钮,当我点击总应用程序改变为选定的语言,因为我写了附加的代码。

我的问题是,当我点击按钮,然后按回应按钮的应用程序显示黑屏一段时间,然后它出现。

在简历的每一个活动中,我正在打电话再次创造清新的视野。即使我已经完成了这个黑屏出现。

任何人都可以帮助我摆脱这一点。

在此先感谢。

我的代码是

english.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) 
       { 
         languagePopup.dismiss(); 
         Locale locale2 = new Locale("en"); 
         Locale.setDefault(locale2); 
         Configuration config2 = new Configuration(); 
         config2.locale = locale2; 
         getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics()); 
         changLanguae(); 
         if(language.equalsIgnoreCase("English")) 
          Constants.isLanguageChanged=false; 
         else 
          Constants.isLanguageChanged = true; 

       } 
      }); 
      spanish.setOnClickListener(new OnClickListener() 
      { 

       @Override 
       public void onClick(View v) 
       { 
         languagePopup.dismiss(); 
         Locale locale2 = new Locale("es"); 
         Locale.setDefault(locale2); 
         Configuration config2 = new Configuration(); 
         config2.locale = locale2; 
         getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics()); 
         changLanguae(); 
         if(language.equalsIgnoreCase("Spanish")) 
          Constants.isLanguageChanged=false; 
         else 
          Constants.isLanguageChanged = true; 

       } 
      }); 
+0

可能不是问题,但您确定关于values-sp吗? es - 西班牙语 es_US - 西班牙语,美国 – 2013-03-20 13:57:32

+0

请参阅http://stackoverflow.com/a/28385931/3496570 – Nepster 2015-02-07 18:43:38

回答

1

创建该视图的值设置部分被复制的方法和使用这种方法对你的onResume()。没有必要写在的onResume整个的onCreate()

1

为应用程序进行语言更改的更好方法是让用户更改语言并从设备设置中输入设置,并让设备和应用程序通过从您为该语言创建的文件夹渲染UI来适当地处理此更改。一个例子是。

相关问题