如何将图像传递给Listview中的另一个活动

时间:2014-05-11 05:14:41

标签: android android-intent

我从服务器上获得了这张图片。该图像不在项目资源文件夹中。文本正常工作,但图像未显示在另一个活动中。

    MyAdapter objAdapter1;
listView.setOnItemClickListener(new OnItemClickListener()
    {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            Item item = (Item) objAdapter1.getItem(position);



            Intent intent = new Intent(ChooseDriver.this, DriverDetail.class);
            intent.putExtra(ID, item.getId());
            intent.putExtra(NAME, item.getName().toString());
           intent.putExtra(IMAGE, item.getImage().toString());



            image.buildDrawingCache();
            Bitmap image= image.getDrawingCache();

             Bundle extras = new Bundle();
           extras.putParcelable("imagebitmap", image);
            intent.putExtras(extras);

            startActivity(intent); 
        }
    });

2 个答案:

答案 0 :(得分:1)

在FirstActivity中,

Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("YourBitmap", bitmap);

,在SecondActivity中,

Intent intent = getIntent();
Bitmap bitmap = (Bitmap)intent.getParcelableExtra("YourBitmap");

可以帮到你。

答案 1 :(得分:1)

试试这个:

主要活动:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
mItem.getIcon().compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
newIntent.putExtra("image", byteArray);

第二项活动:

byte[] byteArray = getIntent().getExtras().getByteArray("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
img.setImageBitmap(bmp);