IllegalArgumentException: clase de estado incorrecta

Para una actividad, tengo dos archivos de diseño diferentes para orientaciones de retrato y de paisaje. Los elementos de una orientación tienen relación directa con elementos en la otra orientación excepto que pueden estar relacionados por clase base pero no son exactamente el mismo tipo y tienen el mismo id. Así por ejemplo:

Layout / main_layout.xml:

... <ListView android:id="@+id/current_news_list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 

Luego en layout-land / main_layout.xml: CustomListView es una subclase de android.widget.AdapterView

 ... <CustomListView android:id="@+id/current_news_list" android:layout_width="fill_parent" android:layout_height="fill_parent"/> 

"IllegalArgumentException: Wrong state class" se activa al cambiar orientaciones. ¿Es este el comportamiento esperado? No he anulado la configuración que cambia el código y estoy dejando la actividad totalmente destruida y reconstruida. He evitado otras instancias de tener identificadores idénticos en la jerarquía de diseño al mismo tiempo.

Establezca el valor de la vista saveEnabled como false.

http://developer.android.com/reference/android/view/View.html#attr_android:saveEnabled

Al cambiar la orientación, intenta guardar los estados de las vistas que tienen identificadores, e intenta recrear lo mismo mientras se recrea su actividad. Por lo tanto, para su caso, un tipo no se puede convertir en el otro tipo. es decir. Un ListView no se puede convertir en una CustomListView.

Y entonces, usted tendrá que manejar ambas orientaciones usted mismo.

  • Error de tiempo de ejecución: java.lang.IllegalArgumentException: provider = gps
  • Obtener una IllegalArgumentException al agregar datos de línea
  • Java.lang.IllegalArgumentException: registra demasiados receptores de difusión
  • Android Fragment no se encontró ninguna vista para ID?
  • Android IllegalArgumentException para dismissDialog
  • IllegalArgumentException arrojada por requestLocationUpdate ()
  • Android - java.lang.IllegalArgumentException: contentIntent error requerido por la notificación?
  • IllegalArgumentException al instanciar HttpClient en Android
  • Android java.lang.IllegalArgumentException
  • La clave debe ser un identificador de recurso específico de la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.