我有一个列表视图,显示图像,名称,价格。
我想要做的是点击该列表我应该将图像的名称和价格发送到下一个活动。
Intent in = new Intent(getApplicationContext(), DescActivity.class);
ImageView img=(ImageView)view.findViewById(R.id.list_image);
String name=((TextView) view.findViewById(R.id.name)).getText().toString();
String price=((TextView) view.findViewById(R.id.price)).getText().toString();
Bitmap bitmap = img.getDrawingCache();
in.putExtra("IMAGE", bitmap);
in.putExtra("NAME",name );
in.putExtra("PRICE", price);
startActivity(in);
但上面的代码不起作用。请帮我。我坚持了3天:'(
答案 0 :(得分:0)
你试过这个吗,
Intent i = new Intent(this, SecondActivity.class);
Bitmap b = img.getDrawingCache();
ByteArrayOutputStream bs = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, 50, bs);
i.putExtra("myImage", bs.toByteArray());
startActivity(i);
然后在你的下一个活动中使用
if(getIntent().hasExtra("myImage")) {
ImageView image = new ImageView(this);
Bitmap b = BitmapFactory.decodeByteArray(
getIntent().getByteArrayExtra("myImage"),0,getIntent().getByteArrayExtra("myImage").length);
image.setImageBitmap(b);
}
答案 1 :(得分:0)
static Bitmap bitmap = img.getDrawingCache();
和第二项活动 -
Bitmap _mBitmap=FirstAcitivity.bitmap;
答案 2 :(得分:0)
你也可以使用这个 - 在第一项活动中 -
Drawable drbl=_imageView.getDrawable();
Bitmap bit = ((BitmapDrawable)drbl).getBitmap();
intent.putExtra("Bitmap",bit);
在第二项活动中 -
Bitmap _mBitmap=intent.getParcelableExtra("Bitmap");
Drawable _mDrawable=new BitmapDrawable(getResources(),_mBitmap);