Como passar imagens entre Activities?

28/01/2016

0

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.
Modesto Barreto

Modesto Barreto

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

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar