我的目標是重繪語言變化的視圖。我已成功分離並附加當前片段,但抽屜項目未翻譯。我請勿要使用Activity.recreate()
,我已經嘗試過:Android重繪視圖語言變化
View myView = (View)findViewById(R.id.my_view);
myView.invalidate();
沒有成功...
我的目標是重繪語言變化的視圖。我已成功分離並附加當前片段,但抽屜項目未翻譯。我請勿要使用Activity.recreate()
,我已經嘗試過:Android重繪視圖語言變化
View myView = (View)findViewById(R.id.my_view);
myView.invalidate();
沒有成功...
我的建議是通過一個函數來修改你的UI。並根據您的代碼從onActivityCreated或onCreateView調用它。所以現在每當你改變語言時,只需調用該函數,它就會自動更新所有視圖。
更新具有以下配置的AndroidManifest文件:
android:configChanges="locale"
在活動水平。這將觸發:
onConfigurationChanged(Configuration newConfig)
您可以在代碼中重寫此方法並從此處刷新視圖。更多信息看一看at this link
完全沒有問題... – TeodorKolev
@TeodorKolev你試了一試嗎?請讓我澄清一些事情。 「語言改變」意味着你已經改變了系統中的語言,對吧?如果是這樣,那意味着如果將配置添加到AndroidManifest中,則不會重新創建活動並保持運行,並調用onConfigurationChanged()方法。這來自上面的鏈接,來自官方的Android文檔。然後在調用super.onConfigurationChanged(newConfig)之前,嘗試使視圖無效。 –
你可以嘗試調用requestLayout()方法嗎? –
無法正常工作 – TeodorKolev