Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

onConfigurationchanged is not called over jellybean(4.2.1)

I really suffer from this issue. I already set the flag android:configChanges="keyboardHidden|orientation|locale"

But when I changed configuration of language, onconfigurationchanged function isn't called. The strange thing is that my codes work fine over other android platform.

I searched this issue here. Someone said that I need to set sdk version lower. But it didn't work.

Please give me some tips.

like image 435
user1900345 Avatar asked Dec 13 '12 08:12

user1900345


2 Answers

Add the layoutDirection attribute, such as android:configChanges="keyboardHidden|orientation|locale|layoutDirection" if you're working with API 17.

layoutDirection that is also connected with interface language changes was introduced in API 17. Piece of android docs about android:configChanges is not explicit enough about that fact, but at least we have:

layoutDirection: The layout direction has changed. For example, changing from left-to-right (LTR) to right-to-left (RTL). Added in API level 17.

like image 66
riwnodennyk Avatar answered Oct 20 '22 18:10

riwnodennyk


From Android 4.2, layout direction will be updated when we change language. Then we have to add both "locale" and "layoutDirection" as below android:configChanges="locale|layoutDirection", that time onConfigurationChanged() will be called.

This is similar with "orientation" and "screenSize" in API 13.

like image 24
namnl2706 Avatar answered Oct 20 '22 20:10

namnl2706