Luk*_*e47 14 android android-fragments android-orientation
我正在开发一个基本上有ActionBar的应用程序.当我的应用程序启动时,Activity会创建片段并将它们附加到每个选项卡,因此当我切换时,我会得到不同的视图.
当我尝试旋转设备时出现问题.经过一番努力,我注意到Android会自动重新创建以前添加的片段,如下所示:
SummaryFragment.onCreate(Bundle) line: 79
FragmentManagerImpl.moveToState(Fragment, int, int, int) line: 795
FragmentManagerImpl.moveToState(int, int, int, boolean) line: 1032
FragmentManagerImpl.moveToState(int, boolean) line: 1014
FragmentManagerImpl.dispatchCreate() line: 1761
DashboardActivity(Activity).onCreate(Bundle) line: 864
...
Run Code Online (Sandbox Code Playgroud)
然后像往常一样重新创建片段.因此,我希望能够正常工作的"真实"片段以及使我的应用程序崩溃的"隐藏"Android创建的对应物.我该如何避免这种行为?我已经尝试在SummaryFragment中调用setRetainInstance(false).
谢谢
Bar*_*rak 39
您需要检查savedInstanceState [edit:在您的父活动中],如果它存在,请不要创建您的片段.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (savedInstanceState == null) {
// Do your oncreate stuff because there is no bundle
}
// Do stuff that needs to be done even if there is a saved instance, or do nothing
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20890 次 |
| 最近记录: |