onConfigurationchanged не вызывается через желе (4.2.1)
Я действительно страдаю от этой проблемы. Я уже установил флаг android:configChanges="keyboardHidden|orientation|locale"
Но когда я изменил конфигурацию языка, onconfigurationchanged
функция не вызывается. Странно то, что мои коды отлично работают на других платформах Android.
Я искал эту проблему здесь. Кто-то сказал, что мне нужно установить sdk
версия ниже. Но это не сработало.
Пожалуйста, дайте мне несколько советов.
3 ответа
Добавить layoutDirection
атрибут, такой как android:configChanges="keyboardHidden|orientation|locale|layoutDirection"
если вы работаете с API 17.
layoutDirection
это также связано с изменениями языка интерфейса, которые были введены в API 17. Часть документов о Android android:configChanges
не достаточно ясно об этом факте, но по крайней мере мы имеем:
layoutDirection: направление макета изменилось. Например, переход от слева направо (LTR) к справа налево (RTL). Добавлен в API уровень 17.
Начиная с Android 4.2, направление раскладки будет обновляться при смене языка. Затем мы должны добавить оба "locale" и "layoutDirection", как показано ниже android: configChanges = "locale | layoutDirection", тогда будет вызываться onConfigurationChanged().
Это похоже на "ориентацию" и "screenSize" в API 13.
Вы настраиваете AndroidManifest.xml как это?
android: minSdkVersion = "4" android:targetSdkVersion = "17"
вам нужно удалить атрибут android:targetSdkVersion