On Orientation更改无法更新android中的片段视图

时间:2017-04-28 11:57:49

标签: android android-fragments screen-orientation

我有一个MainActivity.java,它有两个片段:

1)Fragment1.java - >有物品的RecyclerView。

2)Fragment2.java - >单击项目时显示项目的详细信息。

在纵向方向上只有Fragment1.java或者如果单击了项目,则可以看到Fragment2.java。 在横向模式下,两个碎片并排可见。

如果我以该方向启动应用程序,这在纵向和横向方向都可以正常工作。 但是,如果我在应用程序仍在运行时更改方向,则会收到错误IllegalStateException:无论何时单击其他列表项,都无法在onSaveInstanceState之后执行此操作。它抛出错误的操作是transaction.commit()。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我建议您查看是否在清单中的活动代码中设置了“方向”模式,如果您确实将其删除了.Android会自动处理此问题。 如:

<activity
android:name=".MyActivity"
android:screenOrientation="portrait" />

关于应用程序处于横向或纵向时片段的不同外观,这与您在xml文件中选择的布局有关。 相对,线性等。请查看Android官方文档,并使用它满足您的需求。