intentを利用してActivity間で画像の配列を渡す
カテゴリー: Android備忘録
最終更新日: 2010-10-11
投稿日: 2010-10-11
ルールや手続きで苦戦続きのAndroid開発です…。
需要があるか判りませんが、複数画像(配列)を別のActivityに渡す方法です。
恐らく画像のサイズによってはメモリがどうのと、あまり良くないのかも知れませんが(そこら辺もよく分かってません…)、とりあえず試行錯誤の上、出来たので残しておきます。
Activityを呼び出す側はputExtraを利用してそのまま配列を渡すだけです。
// Activityを呼び出す側 public void callActivity(Bitmap[] bmp) { Intent intent = new Intent(Main.this, ImageList.class); intent.putExtra("IMAGELIST", bmp); intent.setAction(Intent.ACTION_VIEW); startActivity(intent); }
困ったのは受け取る側でした。色々エラーを出しながら試行錯誤して以下の形で取得できました。
Parcelable[] pa = getIntent().getParcelableArrayExtra("IMAGELIST"); if(pa != null) { for (int i=0; i<pa.length; i++) { Bitmap bit = (Bitmap)pa[i]; // 処理 } }
上記方法にたどり着くのに半日以上掛かりました…。
もし間違いがあれば指摘してください。
2014/8/22 金曜日 16:39:54
助かりました。
2019/3/18 月曜日 14:19:35
ありがとうございました。