2016-07-06 50 views
0

我的目標是重繪語言變化的視圖。我已成功分離並附加當前片段,但抽屜項目未翻譯。我請勿要使用Activity.recreate(),我已經嘗試過:Android重繪視圖語言變化

View myView = (View)findViewById(R.id.my_view); 
myView.invalidate(); 

沒有成功...

+0

你可以嘗試調用requestLayout()方法嗎? –

+0

無法正常工作 – TeodorKolev

回答

1

我的建議是通過一個函數來修改你的UI。並根據您的代碼從onActivityCreated或onCreateView調用它。所以現在每當你改變語言時,只需調用該函數,它就會自動更新所有視圖。

0

更新具有以下配置的AndroidManifest文件:

android:configChanges="locale" 

在活動水平。這將觸發:

onConfigurationChanged(Configuration newConfig) 

您可以在代碼中重寫此方法並從此處刷新視圖。更多信息看一看at this link

+0

完全沒有問題... – TeodorKolev

+0

@TeodorKolev你試了一試嗎?請讓我澄清一些事情。 「語言改變」意味着你已經改變了系統中的語言,對吧?如果是這樣,那意味着如果將配置添加到AndroidManifest中,則不會重新創建活動並保持運行,並調用onConfigurationChanged()方法。這來自上面的鏈接,來自官方的Android文檔。然後在調用super.onConfigurationChanged(newConfig)之前,嘗試使視圖無效。 –