@Override public void onActivityResult(int requestCode, int resultCode, Intent resIntent) { System.out.println( "onActivityResult FRAG" + requestCode + " gav resultat " + resultCode + " med data=" + resIntent); // resultatHolder.removeAllViews(); App.onActivityResultListe.remove(this); if (resultCode == Activity.RESULT_OK) { final Optagelse optagelse = new Optagelse(); if (senestSlettedeOptagelse != null) { optagelse.tekst = senestSlettedeOptagelse.tekst; senestSlettedeOptagelse = null; } if (requestCode == VÆLG_BILLEDE) { optagelse.lokalUri = resIntent.getData().toString(); } else if (requestCode == TAG_BILLEDE) { optagelse.lokalUri = Uri.fromFile(filPåEksterntLager).toString(); } gemOptagelse(trin, optagelse); trin.gennemført = true; visGennemførtStatus(); } }
@Override public void onBindViewHolder(OptagelseViewHolder holder, int position) { Optagelse optagelse = trin.svar.optagelser.get(position); holder.billedetekstUnderOpdatering = true; holder.billedetekst.setText(trin.svar.optagelser.get(position).tekst); holder.billedetekstUnderOpdatering = false; holder.billede.setImageDrawable(null); // int højde = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, // rod.getResources().getDisplayMetrics()); // int bredde = (int) (højde*optagelse.aspektRatio); // holder.billede.getLayoutParams().height = højde; // holder.billede.getLayoutParams().width = bredde==0? ViewGroup.LayoutParams.WRAP_CONTENT // : bredde; // Vis billedet. Først prøver vi med lokal URI if (optagelse.lokalUri != null && !optagelse.ignorerLokalUri) { Uri lokalUri = Uri.parse(optagelse.lokalUri); try { // Tjek om den kan læses InputStream stream = App.instans.getContentResolver().openInputStream(lokalUri); stream.close(); Glide.with(rod.getContext()).load(lokalUri).fitCenter().into(holder.billede); return; // Hurra, det gik godt. Hop ud } catch (Exception e) { optagelse.ignorerLokalUri = true; // URI dur ikke på denne maskine, den kommer nok fra en anden, øv bøv Log.d("ignorerLokalUri for optagelse " + position + ": " + e); } } // OK, vi henter den over nettet og cacher den hist og pist String url = optagelse.url; if (optagelse.cloudinary_id != null) { // url = App.cloudinary.url().transformation(new // Transformation().height(højde)).generate(optagelse.cloudinary_id); url = App.cloudinary.url().generate(optagelse.cloudinary_id); // Log.d("cloudinary_id => "+url+ " i stedet for "+optagelse.url); } Glide.with(rod.getContext()).load(url).fitCenter().into(holder.billede); // Picasso.with(rod.getContext()).load(url).resize(bredde,højde).into(holder.billede); }