![](/img/trans.png)
[英]why is onCreate() being called after onConfigurationChanged?
[英]Why isn't onConfigurationChanged being called?
我正在編寫一個代碼,當方向更改時更改TextView的文本我正在使用onConfigurationChanged()偵聽器來更改文本
override fun onConfigurationChanged(newConfig: Configuration?) {
super.onConfigurationChanged(newConfig)
val orientation : Int = getResources().getConfiguration().orientation
val oTag = "Orientation Change"
if(orientation == (Configuration.ORIENTATION_LANDSCAPE)){
mytext?.setText("Changed to Landscape")
Log.i(oTag, "Orientation Changed to Landscape")
}else if (orientation == (Configuration.ORIENTATION_PORTRAIT)){
mytext?.setText("Changed to Portratit")
Log.i(oTag, "Orientation Changed to Portratit")
}else{
Log.i(oTag, "Nothing is coming!!")
}
}
但即使在日志中也沒有任何反應
我也將此屬性添加到清單文件中的Activity
android:configChanges="orientation"
我在這里錯過了什么? 還有其他方法來實現這一目標嗎?
使用此代碼獲取confi chage
override fun onConfigurationChanged(newConfig: Configuration?) {
super.onConfigurationChanged(newConfig)
if (newConfig != null) {
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
}
有幾件事要嘗試:
android:configChanges="orientation|keyboardHidden|screenSize"
而不是android:configChanges="orientation"
確保您沒有調用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
任何地方。 這將導致onConfigurationChange()不會觸發。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.