方向改变使用片段

我有使用碎片的应用程序。 根据屏幕大小和方向我显示不同的布局:
1. layout-fragment - 选项列表
2. layout-fragment - 显示选择的选项
我在处理大屏幕方向变化时遇到问题。 在纵向模式下,我在一个布局中显示两个片段,但在横向模式下显示,如果用户已选择显示......我只显示第二个片段活动。 当处于这种状态时,方向改回到肖像模式,我想再次显示这两个片段,但是我再次显示第二个布局片段活动。
我明白这是Android的活动管理,但是让我的工作尽可能的最佳方式是什么(总是在纵向模式下显示1和2片段)?

感谢您的任何建议!


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

你可以在这里做的是检查你的onCreate中的方位,如果是肖像 - 启动Activity_1并带有合适的意图,以便它可以启动第二个分段以获得正确的细节。 当然,您还必须编辑Activity_1以在onCreate中检查此意图。

一些示例代码,其中intent具有动作ACTION_VIEW和uri的详细对象。

Activity_2(一个片段 - 只能用于横向)

// in method onCreate
// assume orientation is checked and boolean set
if (isPortraitOrientation) {
   startActivity(suitableIntent); // ACTION_VIEW with uri
   finish();
   return;
} else {
   // load fragment
}

Activity_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手机的方向

链接地址: http://www.djcxy.com/p/88717.html

上一篇: Orientation change using fragments

下一篇: Lock screen orientation (Android)