Como passar imagens entre Activities?

28/01/2016

6

Tenho uma lista (RecyclerView) com dois textos e duas imagens em cada item. No onClick consigo passar os textos porém não as imagens. Já tentei de várias formas e o que cheguei mais perto foi com o seguinte:

Passando...
@Override
public void onItemClick(View view, int position) {

TextView txt = (TextView) view.findViewById(R.id.nome_cientifico);
String str = txt.getText().toString();

TextView txt1 = (TextView) view.findViewById(R.id.nome_comum);
String str1 = txt1.getText().toString();

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.slide1);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] jovens = stream.toByteArray();

Bitmap bmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.slide3);
ByteArrayOutputStream stream1 = new ByteArrayOutputStream();
bmp1.compress(Bitmap.CompressFormat.JPEG, 100, stream1);
byte[] adultas = stream1.toByteArray();

Intent intent=new Intent(getActivity(), Detalhes.class);

intent.putExtra("CIENTIFICO", str);

intent.putExtra("COMUM", str1);

intent.putExtra("IMAGEMJ", jovens);

intent.putExtra("IMAGEMA", adultas);

startActivity(intent);

}

Recebendo....

Intent intent = getActivity().getIntent();
Bundle extras = getActivity().getIntent().getExtras();
View rootView = inflater.inflate(R.layout.fragment_detalhes, container, false);

if (intent != null && intent.hasExtra("CIENTIFICO")) {

mMato = intent.getStringExtra("CIENTIFICO");
((TextView) rootView.findViewById(R.id.textView1)).setText(mMato);

mMato1 = intent.getStringExtra("COMUM");
((TextView) rootView.findViewById(R.id.textView2)).setText(mMato1);

byte[] byteArray = extras.getByteArray("IMAGEMJ");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
ImageView image = (ImageView) rootView.findViewById(R.id.imageView1);
image.setImageBitmap(bmp);

byte[] byteArray1 = extras.getByteArray("IMAGEMA");
Bitmap bmp1 = BitmapFactory.decodeByteArray(byteArray1, 0, byteArray1.length);
ImageView image1 = (ImageView) rootView.findViewById(R.id.imageView2);
image1.setImageBitmap(bmp1);
}

O meu problema é com a imagem R.drawable.slide1 e R.drawable.slide3 Passando assim elas ficam fixas para cada item clicado e não passa as imagens referentes ao item.
Responder

Posts

01/02/2016

Ronaldo Filho

Grande boa tarde,

Você pode abrir na outra activity a imagem do mesmo jeito que abriu na activity anterior, você pode passar id da imagem pelo putExtra para abrir ela na outra do mesmo modo que abre na primeira.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar