我希望我的应用可以手动处理方向更改。
这就是我实施onConfigurationChanged(Configuration newConfig)
的原因,如下所示:
@Override
public void onConfigurationChanged(Configuration newConfig) {
applyOverrideConfiguration(newConfig);
super.onConfigurationChanged(newConfig);
}
但是,当我的应用程序运行时,我只是转动我的设备,然后,我的应用程序崩溃,我得到这些日志:
12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 致命例外:主要12-11 13:18:47.522 22290 22290 E
AndroidRuntime fr.zwedge.becomerich流程: fr.zwedge.becomerich,PID:22290 12-11 13:18:47.522 22290 22290 E
AndroidRuntime fr.zwedge.becomerich
java.lang.IllegalStateException:getResources()已经存在 叫12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich at android.view.ContextThemeWrapper.applyOverrideConfiguration(ContextThemeWrapper.java:64) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在 fr.zwedge.becomerich.activity.MainActivity.onConfigurationChanged(MainActivity.java:1116) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在 android.app.ActivityThread.performConfigurationChanged(ActivityThread.java:4037) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在 android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:4113) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1435) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在android.os.Handler.dispatchMessage(Handler.java:110)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich
在android.os.Looper.loop(Looper.java:193)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich at android.app.ActivityThread.main(ActivityThread.java:5299)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich
在java.lang.reflect.Method.invokeNative(Native Method)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich
at java.lang.reflect.Method.invoke(Method.java:515)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:829) 12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)12-11 13:18:47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich
在dalvik.system.NativeStart.main(本地方法)
不知道出了什么问题。希望有人能解释我,并帮助我,Darkball60
答案 0 :(得分:0)
方法ContextThemeWrapper.applyOverrideConfiguration
只能调用一次,并检查是否已访问资源。如果您在构造函数中调用了applyOverrideConfiguration,请检查您的代码,这一次发生在我身上。
同时检查documentation。