方向更改时无法在android中更新片段视图

方向更改时无法在android中更新片段视图,android,android-fragments,screen-orientation,Android,Android Fragments,Screen Orientation,我有一个MainActivity.java,它有两个片段: 1) Fragment1.java->具有项目的RecyclerView 2) Fragment2.java->单击时显示项目的详细信息 在纵向方向中,仅Fragment1.java,或者如果单击项目,则Fragment2.java可见。 在横向模式下,两个片段并排可见 如果我以纵向和横向方向启动应用程序,这在纵向和横向方向上都可以正常工作。 但是,如果在应用程序仍在运行时更改方向,则会出现错误IllegalStateException

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

1) Fragment1.java->具有项目的RecyclerView

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

在纵向方向中,仅Fragment1.java,或者如果单击项目,则Fragment2.java可见。 在横向模式下,两个片段并排可见

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


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

我建议你看看你是否在清单中的活动标签中设置了方向模式,以及你是否删除了它。Android会自动处理这个问题。 例如:

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

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

我建议您查看是否在清单中的活动标签中设置了方向模式,以及是否删除了方向模式。Android会自动处理此问题。 例如:

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

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