处理android中多个屏幕活动的配置更改

时间:2014-05-30 06:20:45

标签: android

我正在进行一项活动,其中根据点击的按钮,我将显示一个全新的布局,简而言之,它是一个多重布局活动, 现在,如果我在布局中不是主布局(在onStart中查看)并更改语言,那么它直接进入主布局,因为Android正在销毁并重新创建活动。

为了避免这种情况,我在Manifest中使用android:configChanges="locale|layoutDirection|keyboard|keyboardHidden"并简单地覆盖onConfigurationChanged(Configuration)方法, - >现在它工作得很好,因为Andorid没有重新开始活动,但是这里的问题是,我改变语言的布局,没有更新langauge的更新,我该如何避免这种情况。

我也尝试onSaveInstanceState()来显示预期的布局,但是却抛出了这个错误。

E/AndroidRuntime( 2511): FATAL EXCEPTION: main

E/AndroidRuntime( 2511): java.lang.RuntimeException: Unable to resume activity {org.droidtv.skype/org.droidtv.skype.LoggedInComponent.People.AddSearchContactActivity}: java.lang.NullPointerException

E/AndroidRuntime( 2511):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742)

E/AndroidRuntime( 2511):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771)

E/AndroidRuntime( 2511):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1276)

E/AndroidRuntime( 2511):    at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime( 2511):    at android.os.Looper.loop(Looper.java:137)

E/AndroidRuntime( 2511):    at android.app.ActivityThread.main(ActivityThread.java:5044)

E/AndroidRuntime( 2511):    at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime( 2511):    at java.lang.reflect.Method.invoke(Method.java:511)

E/AndroidRuntime( 2511):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)

E/AndroidRuntime( 2511):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)

E/AndroidRuntime( 2511):    at dalvik.system.NativeStart.main(Native Method)

0 个答案:

没有答案