如何使用onRetainNonConfigurationInstance()为屏幕方向保存位图?

时间:2011-05-02 21:58:12

标签: android android-layout bitmap state android-image

在我的班级视图中,手机摄像头将被打开并且程序在用户从手机摄像头拍摄照片后显示位图,但同时用户将屏幕旋转到“横向”位图将消失,活动的oncreate()将再次加载然后相机将再次打开。

我不知道使用onRetainNonConfigurationInstance()或onSaveInstanceState()保存位图。

问题是如何在用户旋转手机之前保存位图(取自手机摄像头),这样即使手机处于横向模式,屏幕上也会显示相同的位图?

--- --- EDIT 添加到AndroidManifest.xml是获取保存状态的好方法吗?

1 个答案:

答案 0 :(得分:9)

将其保存在SaveInstanceState:

  @Override
  public void onSaveInstanceState(Bundle toSave) {
    super.onSaveInstanceState(toSave);
    toSave.putParcelable("bitmap", bitmap);
  }

然后回到创建:

 @Override
  public void onCreate(Bundle savedState) {
    super.onCreate(savedState);
    if (savedState != null) bitmap = savedState.getParcelable("bitmap");
  }