我有一个MainActivity.java,它有两个片段:
1)Fragment1.java - >有物品的RecyclerView。
2)Fragment2.java - >单击项目时显示项目的详细信息。
在纵向方向上只有Fragment1.java或者如果单击了项目,则可以看到Fragment2.java。 在横向模式下,两个碎片并排可见。
如果我以该方向启动应用程序,这在纵向和横向方向都可以正常工作。 但是,如果我在应用程序仍在运行时更改方向,则会收到错误IllegalStateException:无论何时单击其他列表项,都无法在onSaveInstanceState之后执行此操作。它抛出错误的操作是transaction.commit()。
知道如何解决这个问题吗?
答案 0 :(得分:0)
我建议您查看是否在清单中的活动代码中设置了“方向”模式,如果您确实将其删除了.Android会自动处理此问题。 如:
<activity
android:name=".MyActivity"
android:screenOrientation="portrait" />
关于应用程序处于横向或纵向时片段的不同外观,这与您在xml文件中选择的布局有关。 相对,线性等。请查看Android官方文档,并使用它满足您的需求。