Ich verbrachte drei Tage und fand keine funktionierende Lösung, um Bild in Detailansicht anzuzeigen. Da ich die Suchansicht verwende, muss ich einen schwierigeren Weg verwenden, der nicht funktioniert. Ich verwende Universal Image Loader in ListActivity, habe aber keine Ahnung, wie man es in DetailView implementiert. TextView-Text wird in DetailView korrekt angezeigt. Ich sehe beim Debuggen, URL des Bildes in 'Extras' (oder 'Absicht') in 'mMap' Wert, kann aber nicht angezeigt werden. 'Flag' Variable ist null. 'flagImg' ändert die Bild-URL nicht. Ich habe versucht mit getParacetable, Bitmap, aber ich bekomme immer Null im Flag Wert.Kann Bild (Formular JSON) im Detail Aktivität von Suchresult nicht anzeigen?
ListActivity:
public ListAdapter(Context context, List<MovieModel.Descriptions> items) {
this.context = context;
this.items = items;
inflater = (LayoutInflater.from(context));
this.arrayList = new ArrayList<MovieModel.Descriptions>();
this.arrayList.addAll(items);
}
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("flag",(items.get(position).getImage()));
intent.putExtra("getInfo",(items.get(position).getInfo()));
context.startActivity(intent);
}
});
return view;
}
public void filter(String charText){
charText = charText.toLowerCase(Locale.getDefault());
items.clear();;
if(charText.length() == 0) {
items.addAll(arrayList);
}else{
for(MovieModel.Descriptions wp : arrayList){
if(wp.getTitle().toLowerCase(Locale.getDefault()).contains(charText))
items.add(wp);
}
}
notifyDataSetChanged();
}
im Detail Aktivität
int flag;
int send;
// recovering data
Intent i = getIntent();
info = i.getStringExtra("getInfo");
detInfo = (TextView)findViewById(R.id.info);
detInfo.setText(info);
flag = i.getIntExtra("flag", send);
flagImg = (ImageView)findViewById(R.id.detailImg);
flagImg.setImageResource(flag);
// Two of 9 solutions I used:
// bitmap is null
// flagImg = (ImageView)findViewById(R.id.detailImg);
// Bitmap bitmap = (Bitmap) i.getParcelableExtra("flag");
// flagImg.setImageBitmap(bitmap);
// bmp is null:
// Bundle extras = getIntent().getExtras();
// Bitmap bmp = (Bitmap) extras.getParcelable("flag");
// detImg.setImageBitmap(bmp);
// How add this image to Universal Image Loader ?
ImageLoader.getInstance().displayImage(flagImg.setImageResource(flag),flagImg, new ImageLoadingListener() {...
Du mentionig in Ihrem Frage, dass Sie eine URL von Ima wollen, aber wo haben Sie das Bild heruntergeladen? Wenn Sie eine Bild-URL übergeben, erhalten Sie diese in Ihrer 'DetailActivity' als' int' und nicht als 'String'. Wenn Sie eine URL des Bildes haben, müssen Sie dieses Bild herunterladen und zu 'ImageView' gehen. – Yupi
Mehr Code zeigt diesen Beitrag: https://stackoverflow.com/questions/46911971/listview-in-the-first-activity-listview- in-the-second-activity-nested-json-no – Maler