Android開発に関する情報や技術紹介です

intentを利用してActivity間で画像の配列を渡す

ルールや手続きで苦戦続きの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];
    // 処理
  }
}

上記方法にたどり着くのに半日以上掛かりました…。

もし間違いがあれば指摘してください。

タグ
, , ,
トラックバックURL
  • Android さん:
    2014/8/22 金曜日 16:39:54

    助かりました。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

ページTOPに戻る