1

Я хочу, чтобы мое приложение обрабатывало изменения ориентации вручную. Так вот почему я реализовал onConfigurationChanged(Configuration newConfig), как показано ниже:java.lang.IllegalStateException: getResources() уже был вызван

@Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     applyOverrideConfiguration(newConfig); 
     super.onConfigurationChanged(newConfig); 
    } 

Но, когда мое приложение работает, и я просто поворачиваю устройство, то, мое приложение аварии, и я получаю эти журналы:

12-11 13: 18: 47,522 22290 22290 Е AndroidRuntime fr.zwedge.becomerich неустранимые: Основные 12-11 13: 18: 47,522 22290 22290 Х
AndroidRuntime fr.zwedge.becomerich Процесс: fr.zwedge.becomerich, ПИД: 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 Е AndroidRuntime fr.zwedge.becomerich на android.view.ContextThemeWrapper.applyOverrideConfiguration (ContextThemeWrapper.java:64) 12-11 13: 18: 47,522 22290 22290 Е 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 at android.app.ActivityThread.performConfigurationChanged (ActivityThread.java:4037) 12-11 13: 18: 47.522 2 2290 22290 Е 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 Е AndroidRuntime fr.zwedge.becomerich
на android.os.Looper.loop (Looper.java:193) 12-11 13: 18: 47,522 22290 22290 Е AndroidRuntime fr.zwedge.becomerich at android.app.ActivityThread.main (Закон ivityThread.java:5299) 12-11 13: 18: 47,522 22290 22290 Е AndroidRuntime fr.zwedge.becomerich
на java.lang.reflect.Method.invokeNative (Родной метод) 12-11 13: 18: 47,522 22290 22290 Е AndroidRuntime fr.zwedge.becomerich
на java.lang.reflect.Method.invoke (Method.java:515) 12-11 13: 18: 47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich на com.android .internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:829) 12-11 13: 18: 47.522 22290 22290 E AndroidRuntime fr.zwedge.becomerich at 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 (Native Method)

Не знаю, что происходит не так. Надеюсь, кто-нибудь сможет мне объяснить и помочь, Darkball60

ответ

0

Метод ContextThemeWrapper.applyOverrideConfiguration можно вызвать только один раз и проверяет, были ли доступны ресурсы. Проверьте свой код, если у вас также есть вызов applyOverrideConfiguration в конструкторе, который произошел со мной один раз.

Также проверьте documentation.

+0

Проверено это, и нет, я не использовал этот метод раньше. – Mesabloo

 Смежные вопросы

  • Нет связанных вопросов^_^