Android 使用片段更改方向-错误的活动开始

Android 使用片段更改方向-错误的活动开始,android,layout,android-layout,android-activity,android-fragments,Android,Layout,Android Layout,Android Activity,Android Fragments,我有一个使用片段的应用程序。根据屏幕大小和方向,我将显示不同的布局:1。布局片段-选择列表2。布局片段-显示所选选项我在处理大屏幕中的方向更改时遇到问题。在纵向模式下,我在一个布局中显示两个片段,但在横向模式下,如果用户选择显示某个内容,我只显示第二个片段活动。在这种状态下,方向更改回纵向模式时,我希望再次显示两个片段,但我将再次显示第二个布局片段活动。我知道这是android活动管理,但什么是使其按我希望的方式工作的最佳方法(始终在纵向模式下显示1和2片段)谢谢你的建议 这是因为您的第二个活动

我有一个使用片段的应用程序。根据屏幕大小和方向,我将显示不同的布局:
1。布局片段-选择列表
2。布局片段-显示所选选项
我在处理大屏幕中的方向更改时遇到问题。在纵向模式下,我在一个布局中显示两个片段,但在横向模式下,如果用户选择显示某个内容,我只显示第二个片段活动。在这种状态下,方向更改回纵向模式时,我希望再次显示两个片段,但我将再次显示第二个布局片段活动。
我知道这是android活动管理,但什么是使其按我希望的方式工作的最佳方法(始终在纵向模式下显示1和2片段)
谢谢你的建议

这是因为您的第二个活动(仅显示一个框架)是在方向更改时重新创建的

在这里,你可以做的是检查onCreate,if纵向启动活动_1中的方向,以便它可以启动第二个frag以获得正确的细节。当然,您还必须编辑活动_1,以便在onCreate中检查此意图

一些示例代码,其中intent具有action\u视图和细节对象的uri

活动_2(一个片段-应仅用于景观)

活动_1(如果方向允许,则显示两个片段

// check intent
// assume orientation checked and boolean set  
final Intent intent = getIntent();
final String action = intent.getAction();
Log.v(TAG, " - action: " + action);
if (isPortraitOrientation && Intent.ACTION_VIEW.equals(action)) {
   // load fragment with selected choice
}
建议的方向检查:

这是因为您的第二个活动(仅显示一个框架)是在方向更改时重新创建的

这里您可以做的是检查onCreate中的方向,如果纵向-以适当的意图启动活动_1,以便它可以启动第二个frag以获得正确的详细信息。当然,您还必须编辑活动_1以检查onCreate中的此意图

一些示例代码,其中intent具有action\u视图和细节对象的uri

活动_2(一个片段-应仅用于景观)

活动_1(如果方向允许,则显示两个片段

// check intent
// assume orientation checked and boolean set  
final Intent intent = getIntent();
final String action = intent.getAction();
Log.v(TAG, " - action: " + action);
if (isPortraitOrientation && Intent.ACTION_VIEW.equals(action)) {
   // load fragment with selected choice
}
建议的方向检查:

查看android开发者的
FragmentLayout
api演示示例。不幸的是,此示例没有保留方向更改的选择,但显示了如何以其他方式处理方向更改。不幸的是,我需要更多。查看android开发者的
FragmentLayout
api演示示例rs。不幸的是,此示例没有保留方向更改的选择,但显示了如何以其他方式处理方向更改。不幸的是,我需要的不仅仅是这些。