0

私はインテント経由でカメラを使用して画像をスナップし、それをイメージビューに保存しています。インテント カメラは横向きモードで、戻るアクティビティは縦向きモードです。そのため、アクティビティの向きが変わり、新しいアクティビティがリロードされます。この画像をその画像ビューに保存しようとしています。ただし、アクティビティページに戻ると、アクティビティが縦向きモードになると消えます。onSaveInstanceState メソッドを追加すると、次のエラーでクラッシュします。

  Canvas: trying to use a recycled bitmap android

以下のコードを追加しました。

 public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main_page);
    imageView = (ImageView) findViewById(R.id.result);
    if(savedInstanceState != null){
        Bitmap photo = savedInstanceState.getParcelable("savedImage");
        imageView.setImageBitmap(photo);
        }

  }

以下のように画像を保存しました

protected void onSaveInstanceState(Bundle icicle){
      super.onSaveInstanceState(icicle);
      imageView.buildDrawingCache();
      Parcelable bm = imageView.getDrawingCache();
      icicle.putParcelable("savedImage",bm);
  }
4

1 に答える 1