onConfigurationchanged不会通过jellybean调用(4.2.1)

时间:2012-12-13 08:58:07

标签: android android-4.2-jelly-bean

我真的很痛苦。 我已经设置了标记android:configChanges="keyboardHidden|orientation|locale"

但是当我更改语言配置时,不会调用onconfigurationchanged函数。 奇怪的是,我的代码在其他Android平台上运行良好。

我在这里搜索了这个问题。 有人说我需要将sdk版本设置得更低。但它没有用。

请给我一些提示。

3 个答案:

答案 0 :(得分:14)

如果您使用的是API 17,请添加layoutDirection属性,例如android:configChanges="keyboardHidden|orientation|locale|layoutDirection"

API中引入了与界面语言更改相关的

layoutDirectionPiece of android docs关于android:configChanges关于这一事实并不够明确,但至少我们有:

  

layoutDirection:布局方向已更改。例如,改变   从左到右(LTR)从右到左(RTL)。 在API级别17中添加

答案 1 :(得分:4)

从Android 4.2开始,当我们更改语言时,将更新布局方向。 然后我们必须添加" locale"和" layoutDirection"如下 机器人:configChanges ="语言环境|的layoutDirection&#34 ;, 那个时候onConfigurationChanged()将被调用。

这类似于" orientation"和" screenSize"在API 13中。

答案 2 :(得分:-12)

你这样配置AndroidManifest.xml吗?

  

android:minSdkVersion =“4”android:targetSdkVersion =“17”

你需要删除android:targetSdkVersion属性