无法详细显示搜索结果中的图像(格式 JSON)activity?
Cannot display image (form JSON) in detail activity from search reasult?
我花了三天没有找到在详细视图中显示图像的工作解决方案。
因为我使用搜索视图,所以我必须使用更困难的方法,但这是行不通的。
我在 ListActivity 中使用 Universal Image Loader,但不知道如何在 DetailView 中实现它。
TextView 文本在 DetailView 中显示正确。
我在调试时看到,'mMap' 值中'extras'(或'intent')中的图像 url,但无法显示。
‘标志’变量为空。 'flagImg' 不包含图像 url。
我尝试使用 getParacetable、Bitmap,但我总是在标志值中得到 null。
列表Activity:
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();
}
详细Activity
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() {...
我假设你通过意图传递了正确的 url 所以在你的 DetailActivity
:
String flag;
flag = i.getStringExtra("flag");
flagImg = (ImageView)findViewById(R.id.detailImg);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(flag, flagImg);
我花了三天没有找到在详细视图中显示图像的工作解决方案。 因为我使用搜索视图,所以我必须使用更困难的方法,但这是行不通的。 我在 ListActivity 中使用 Universal Image Loader,但不知道如何在 DetailView 中实现它。 TextView 文本在 DetailView 中显示正确。 我在调试时看到,'mMap' 值中'extras'(或'intent')中的图像 url,但无法显示。 ‘标志’变量为空。 'flagImg' 不包含图像 url。 我尝试使用 getParacetable、Bitmap,但我总是在标志值中得到 null。
列表Activity:
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();
}
详细Activity
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() {...
我假设你通过意图传递了正确的 url 所以在你的 DetailActivity
:
String flag;
flag = i.getStringExtra("flag");
flagImg = (ImageView)findViewById(R.id.detailImg);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(flag, flagImg);