对于一个活动,我有两个不同的纵向和横向布局文件。一个方向的元素与另一个方向的元素有直接关系,除了它们可能通过基类相关但不是完全相同的类型并且它们确实具有相同的 id。例如:
布局/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:错误的状态类”。这是预期的行为吗?我没有覆盖配置更改代码,我让活动被完全破坏和重建。我已经避免了在布局层次结构中同时具有相同标识符的其他实例。