A.class が整数の配列を B.class の BaseAdapter に渡すように、整数配列を baseadapter に渡そうとしています。A.Class(送信者)で整数配列を渡す方法は次のとおりです。
int [] mThumb = {
R.drawable.image1_thumb, R.drawable.image2_thumb, R.drawable.image3_thumb,
R.drawable.image4_thumb, R.drawable.image5_thumb, R.drawable.image6_thumb,
R.drawable.image7_thumb, R.drawable.image8_thumb, R.drawable.image9_thumb,
R.drawable.image10_thumb};
Bundle b=new Bundle();
b.putIntArray("mThumbSent", mThumb);
Intent startSwitcher = new Intent(A.this, B.class);
startSwitcher.putExtras(b);
そして、アクティビティ B の BaseAdapter で:
public class ImageSwitch1 extends Activity Extends ...{
onCreate....
[redacted]
}
private ImageSwitcher mSwitcher;
public class ImageAdapter extends BaseAdapter {
Bundle b=this.getIntent().getExtras();
int[] mThumb = b.getIntArray("mThumbSent");
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumb.length; //this used to say return mThumbIds
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView im = new ImageView(mContext);
im.setImageResource(mThumb[position]);
im.setAdjustViewBounds(true);
im.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
im.setBackgroundResource(R.drawable.picture_frame);
return im;
}
private Context mContext;
}
}
明らかに上記のコードは正しくありません。imageadapter で getintent を使用できません。しかし、これは私が達成しようとしていることの実例であり、可能であれば変数または配列をインテント経由で BaseAdapter に渡す方法を知りたいです。