6

私のクラスビューでは、電話カムが開かれ、ユーザーが電話カムから写真を撮った後にプログラムがビットマップを表示しますが、同時にユーザーが画面を「横向き」に回転するとビットマップが消え、アクティビティの oncreate() が再び読み込まれ、カメラが再び開かれる。

onRetainNonConfigurationInstance() または onSaveInstanceState() でビットマップを保存することを知りませんでした。

問題は、ユーザーが電話を回転させる前にビットマップ (電話カムから取得) を保存して、電話が横向きモードの場合でも同じビットマップが画面に表示されるようにするにはどうすればよいですか??

---EDIT--- AndroidManifest.xml への追加は、保存状態を取得する良い方法ですか?

4

1 に答える 1

9

それを onSaveInstanceState に保存します。

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

そしてそれを onCreate に戻します:

 @Override
  public void onCreate(Bundle savedState) {
    super.onCreate(savedState);
    if (savedState != null) bitmap = savedState.getParcelable("bitmap");
  }
于 2011-05-02T22:06:19.513 に答える