【发布时间】:2011-11-24 01:05:16
【问题描述】:
我正在尝试制作一个具有 2 个Activities 的应用程序。 Activity1 是画廊,可以致电Activity2。 Activity2 是一个相机应用程序,它可以捕获图像,然后将这些图像发送到Activity1,Activity1 将在图库中显示这些图像。我无法在两个Activities 之间发送图像。
此代码是我在Activity1 中的画廊。我知道SerializebleBitmap,但在我的代码中,我怎样才能把它放在画廊列表中?这是我的代码:
public class HelloGallery extends Activity {
private Gallery gallery;
private ImageView imgView;
private Button btn;
private static final int SHOW_SUB_FORM = 0;
private String[] imglist;
Bundle extras = getIntent().getExtras();
private Integer[] mImageIds = {
R.drawable.sample_0,
R.drawable.sample_1,
R.drawable.sample_2,
R.drawable.sample_3,
R.drawable.sample_4,
R.drawable.sample_5,
R.drawable.sample_6,
R.drawable.sample_7
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
gallery = (Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new ImageAdapter(this));
imgView = (ImageView)findViewById(R.id.ImageView01);
imgView.setImageResource(mImageIds[0]);
btn = (Button) findViewById(R.id.Takept);
btn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
btn_onClick();
}
});
if (extras != null){
String[] imglist= extras.getStringArray("IMAGE_LIST");
imgView.setImageResource(mImageIds[0]);
}
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(HelloGallery.this, "" + position, Toast.LENGTH_SHORT).show();
imgView.setImageResource(mImageIds[position]);
}
});
};
private void btn_onClick() {
Intent intent = new Intent(HelloGallery.this,CameraDemo.class);
startActivity(intent);
}
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
TypedArray attr = mContext.obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = attr.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground, 0);
attr.recycle();
}
public int getCount() {
return mImageIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(100, 100));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
}
}
【问题讨论】:
-
这里将图像转换为位图并将其传递给另一个活动[使用此答案][1] [1]:stackoverflow.com/a/17879210/2377760
标签: android