2016-05-07 51 views
0

我有一个用于管理我的活动中的片段的基类。它处理片段backstack,打开等,但在方向改变这个对象变为空,我失去了我所有的片段状态。屏幕方向更改后活动类成员变量(对象)损失

public class Dashboard extends AbstractNavDrawerActivity implements AsyncRequest 
    .OnAsyncRequestComplete { 

BaseFragmentOrganizer fragmentOrganizer;//object that manages backstack and other operation 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
//on orientation change fragmentOrganizer becomes null so no more backstack. 
    if (savedInstanceState == null) { 
     fragmentOrganizer = new MainFragmentOrganizer(getSupportFragmentManager()); 
    } 
+0

看看这个http://stackoverflow.com/questions/15313598/once-for-all-how-to-correctly-save-instance-state-of-fragments-in-back-stack –

回答

1

你只需要添加android:configChanges="orientation|screenSize"到您的活动中manifest文件。

它不会重新创建您的活动。

+0

我知道的它。但是这是唯一的解决方案bcoz正式的android开发者不推荐这个。 –

+0

我不知道。但无论什么让你的编码容易很好。这是我相信的。 –

+0

现在这只是我的解决方案。感谢您的答复。 –