我正在进行一项活动,其中根据点击的按钮,我将显示一个全新的布局,简而言之,它是一个多重布局活动, 现在,如果我在布局中不是主布局(在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)