【发布时间】:2012-10-19 12:29:01
【问题描述】:
应用具有与父级匹配的框架布局容器的片段活动。 用户与片段 ui 交互,它们相互替换,将 old 放入 backstack,例如: A -> B -> C -> D -> E -> F
当用户改变手机方向时,例如,在片段 D 上并想去片段 E,片段 A 的视图会显示,如果用户按下片段 A 中的某些东西(通常会转到片段 B),视图片段F显示。
屏幕方向改变后如何显示片段E而不是A?
应用程序使用最新的 android 支持库,这发生在 android 4.1 模拟器和 android 2.3 手机(未测试其他 android 版本)。
所有片段都有这个 go next 片段方法:
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();
}
编辑
在fragment D上旋转屏幕时,所有旋转正常,并显示fragment D的视图。如果用户使用上述方法转到fragment E旋转后,显示的是fragment A的视图而不是E。如果用户不正常旋转手机片段E显示。
【问题讨论】:
标签: android fragment screen-orientation fragmenttransaction