Intereting Posts
TornadoFX – удалить элемент с помощью контекстного меню правой кнопкой мыши Как сделать двухсторонний конвертер в Котлине? (Работа в Java) когда выражение kotlin как проверить, когда a & b Не удалось найти ссылочный класс kotlin.internal.annotations.AvoidUninitializedObjectCopyingCheck Как сделать закрытые классы родовыми в котлин? Как связать преобразования в Android при использовании живых данных? Kotlin: Почему я не могу выполнить задание в защитнике цикла? Kotlin: установка частного булева класса Java через класс Data в Котлине. Почему я не могу это сделать? Kotlin recyclerView не вызывает никакого адаптера Альтернативы полем бокса или расширению ВСЕХ строк в Котлине? Функция аннотирования интерфейса, которая должна вызывать супер Как смешивать несколько конструкторов родительского класса с val в дочернем классе Как использовать выражение `with` от Kotlin для типов с нулевым значением Google Espresso: удалять данные пользователя по каждому тесту Почему я получаю ArrayIndexOutOfBoundsException, выполняющий этот конкретный шаг Cucumber в Котлине?

Почему не вызывается onConfigurationChanged?

Я пишу код, который меняет текст 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!!") } } 

но ничего не происходит даже в журнале

также я добавил этот атрибут в свою активность в файле манифеста

 android:configChanges="orientation" 

Что мне здесь не хватает? также есть ли другой способ достичь этого?

Solutions Collecting From Web of "Почему не вызывается onConfigurationChanged?"

Используйте этот код, чтобы получить конфиденцию

 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 () не будет срабатывать.