// 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
}
1 回答
这是因为您的第二个活动(仅显示一个碎片)会在方向更改时重新创建 .
你可以在这里做的是检查onCreate中的方向,如果是纵向 - 以合适的意图启动Activity_1,以便它可以启动第二个碎片以获得正确的细节 . 当然,您还必须编辑Activity_1以在onCreate中检查此意图 .
一些示例代码,其中intent具有对详细对象的操作ACTION_VIEW和uri .
Activity_2(一个片段 - 应该仅用于横向)
Activity_1(如果方向允许,显示两个片段)
推荐方向检查:Check orientation on Android phone