方向更改时,TabGroupActivity恢复错误视图

时间:2011-11-25 17:17:35

标签: android android-layout

我有一个使用TabGroupActivity的应用程序,当我更改屏幕方向时,他们恢复了我加载的第一个视图。示例:我在视图3上,我将手机旋转到横向,并恢复了第一个视图(tabGroup的加载视图)。

我如何解决这个问题?

由于

3 个答案:

答案 0 :(得分:0)

如果您加载了视图onCreate(),请在清单文件中使用TabGroupActivity尝试以下操作:

  <activity
        android:label="@string/app_name"
        android:name=".TabGroupActivity"
        android:configChanges="orientation" />

答案 1 :(得分:0)

在该活动的清单中设置android:configChanges属性。您应该将值设置为“orientation | keyboard | keyboardHidden”,这将阻止您的活动被杀死并重新启动,从而保持您当前的状态。

答案 2 :(得分:0)

您应该在onSaveInstanceState()中保存您所在的标签:

public void onSaveInstanceState(Bundle toSave) {
  super.onSaveInstanceState(toSave);
  toSave.putString("currentTab", tabs.getCurrentTabTag());
}

然后在onCreate()

中恢复它
public void onCreate(Bundle savedState) {
  super.onCreate(savedState);
  String tabTag = null;
  if (savedState != null) {
    tabTag = savedState.getString("currentTab");
  }
  ... //tab initialization code

  tabs.setCurrentTabByTag(tabTag);

  ...
}