App具有与maplayout容器匹配父级的片段活动。 用户与片段ui进行交互,他们互相替换,将旧的放在后台,例如: A - > B - > C - > D - > E - > ˚F
当用户更改手机方向时,例如,在片段D上,并且想要转到片段E,片段A的视图显示,如果用户按下此片段A(通常转到片段B)中的某些内容,则视图片段F显示。
如何在屏幕方向改变后显示片段E而不是A?
应用程序使用最新的Android支持库,这发生在Android 4.1模拟器和Android 2.3手机(未测试其他Android版本)。
所有片段都有下一个片段方法:
public final void showNextFragment(final Fragment frg, final String tag) {
final FragmentTransaction tr = getFragmentManager().beginTransaction();
tr.remove(this);
tr.add(R.id.fragment_container, frg, tag);
tr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
tr.addToBackStack(tag);
tr.commit();
}
修改
当在片段D上旋转屏幕时,所有旋转都正常进行并显示片段D的视图。如果用户使用上述方法进入片段E,旋转后的问题,片段A的视图显示而不是E.如果用户不旋转手机片段E正常显示。
答案 0 :(得分:-1)
一种解决方案是将当前标记或片段保持为静态变量。
否则,你想在屏幕方向上回到A吗?如果不是,您应该在清单中添加:
<activity android:configChanges="keyboardHidden|orientation" ...