IllegalArgumentException: неправильный класс состояния

Для Activity у меня есть два разных файла макета для портретной и альбомной ориентации. Элементы одной ориентации имеют прямое отношение к элементам в другой ориентации, за исключением того, что они могут быть связаны базовым классом, но не являются одним и тем же типом и имеют одинаковый идентификатор. Так, например:

layout / main_layout.xml:

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

, затем в layout-land / main_layout.xml: CustomListView является подклассом android.widget.AdapterView

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

«IllegalArgumentException: неправильный класс состояния» выбрасывается при изменении ориентации. Это ожидаемое поведение? Я не переопределил код изменения конфигурации и позволяю полностью уничтожить и реконструировать действие. Я избегал других случаев одновременного наличия идентичных идентификаторов в иерархии макета.

5
задан jchristof 12 July 2011 в 16:23
поделиться