2013-03-26 2 views
0

У меня есть вид списка, который отображает изображение, имя, цену.Отправить изображение из одной активности в другую из списка

Что я пытаюсь сделать, это нажать на этот список, я должен отправить изображение имя и цену в следующую операцию.

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

что не работает какой-либо сбой, если так pste ваш LogCat – Triode

+0

изображение не становится загруженный в следующее действие – user1743673

+0

@ user1743673 упомянуть следующий код активности здесь, как вы обращаетесь к растровому изображению –

ответ

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); 
} 
0

попробовать this- грима растровый статический в первой деятельности. т.е.

static Bitmap bitmap = img.getDrawingCache(); 

и во втором деятельность-

Bitmap _mBitmap=FirstAcitivity.bitmap; 
+0

, обратите внимание, что статические переменные хранятся в памяти, поэтому будьте осторожны, если вы решите на этот путь. –

0

вы также можете использовать this- в первом деятельность-

Drawable drbl=_imageView.getDrawable(); 
    Bitmap bit = ((BitmapDrawable)drbl).getBitmap(); 
    intent.putExtra("Bitmap",bit); 

Во второй acivity-

Bitmap _mBitmap=intent.getParcelableExtra("Bitmap"); 
Drawable _mDrawable=new BitmapDrawable(getResources(),_mBitmap); 
Смежные вопросы