2012-05-28 71 views
1

我們的應用程序強制執行某個語言環境,而與設備設置無關。這是一個臨時決定,直到字符串被正確翻譯。將語言環境設置爲應用程序部件

Configuration config = sContext.getResources().getConfiguration(); 
    if (!sDefaultLocale.equals(config.locale)) { 
      Locale.setDefault(sDefaultLocale); 
      config.locale = sDefaultLocale; 
      sContext.getResources().updateConfiguration(config, 
        sContext.getResources().getDisplayMetrics()); 

    } 

不幸的是,強制區域設置不適用於應用程序窗口小部件,窗口小部件仍然使用設備的區域設置。我正在尋找一種使應用程序小部件呈現相同區域設置的方法。

+0

上面提到的代碼被稱爲?如果您在設置語言環境的位置共享位置並且在此代碼之後執行什麼操作會很好?這將有助於更合適地回答您的代碼。 –

+0

任何運氣的解決方案? – Sergey

+0

您是否找到了解決方案? – Coderji

回答

1

更改語言環境後,您需要更新應用程序窗口小部件。最重要的部分是,在創建新的RemoteView時,您需要使用remoteViews.setTextViewText(..)以編程方式設置所有字符串

如果在XML(android:text =「@ string/...」)中定義了應用程序小部件字符串資源 - 設置新的區域設置後,它們不會被更改。

相關問題