Android 无法在搜索结果的详细活动中显示图像(格式JSON)?
我花了三天时间,并没有找到在详细视图中显示图像的有效解决方案。 因为我使用搜索视图,所以我必须使用更困难的方法,但这种方法不起作用。 我在ListActivity中使用UniversalImage Loader,但不知道如何在DetailView中实现它。 TextView文本在DetailView中显示正确。 我在调试时看到,图像的url在'mMap'值的'extras'(或'intent')中,但无法显示它。 “flag”变量为空flagImg'不包含图像url。 我尝试使用getParacetable、Bitmap,但标记值总是为null 列表活动:Android 无法在搜索结果的详细活动中显示图像(格式JSON)?,android,json,image,universal-image-loader,Android,Json,Image,Universal Image Loader,我花了三天时间,并没有找到在详细视图中显示图像的有效解决方案。 因为我使用搜索视图,所以我必须使用更困难的方法,但这种方法不起作用。 我在ListActivity中使用UniversalImage Loader,但不知道如何在DetailView中实现它。 TextView文本在DetailView中显示正确。 我在调试时看到,图像的url在'mMap'值的'extras'(或'intent')中,但无法显示它。 “flag”变量为空flagImg'不包含图像url。 我尝试使用getParac
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();
}
我假设您通过intent传递了正确的url,因此在您的
DetailActivity
中:
String flag;
flag = i.getStringExtra("flag");
flagImg = (ImageView)findViewById(R.id.detailImg);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(flag, flagImg);
你在你的问题中提到你想要一个ima的url,但你在哪里下载的图像?如果您通过意图传递图像的url,则在
DetailActivity
中,您将以int
而不是字符串的形式接收图像。如果你有一个图像的url,你必须下载该图像并传递到ImageView
更多的代码显示这篇文章:Yupi,你太棒了!非常感谢你!!!我知道我不能投票,因为我没有足够的声望点数。但我认为,对于那些提出同样问题的人来说,这将是非常有帮助的。要完成您的回答:在最后一行之前,我们应该ad:flagImg=(ImageView)findViewById(R.id.detailImg);不客气。如果有帮助的话,你可以标记为正确答案。我想标记你有用的答案,但我不能,因为我需要15分的声誉,而我只有9分。很抱歉
String flag;
flag = i.getStringExtra("flag");
flagImg = (ImageView)findViewById(R.id.detailImg);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(flag, flagImg);