本文介绍了如何使用SimpleAdapter显示在ListActivity客户项目从网页图片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建活动扩展ListActivity我可以用SimpleAdapter显示R.drawable.picture但我想在CustomerItem显示来自网络图片怎么办呢?
I Create a Activity Extends ListActivityI can used SimpleAdapter to display R.drawable.picturebut I want to display picture from web in CustomerItemHow do?
清单数据; 名单> plan_list;
List data; List> plan_list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.plan_list);
plan_list = getPlanList();
Plan_SimpleAdapter adapter = new Plan_SimpleAdapter(this, plan_list,
R.layout.plan_item, new String[] { "Title", "miaoshu","img" }, new int[] {
R.id.textView1,R.id.miaoshu, R.id.plan_logo });
setListAdapter(adapter);
}
// return plan list
private List<Map<String, Object>> getPlanList() {
plan_list = new ArrayList<Map<String, Object>>(3);
Map<String, Object> map = new HashMap<String, Object>();
map.put("Title", "Android");
map.put("miaoshu","M");
map.put("img", "http://www.deakin.edu.au/conferences/icpads2008/images/deakin_logo.png");
plan_list.add(map);
map = new HashMap<String, Object>();
map.put("Title", "Lenovo");
map.put("miaoshu", "N");
map.put("img", R.drawable.planlogo);
plan_list.add(map);
map = new HashMap<String, Object>();
map.put("Title", "Droid");
map.put("miaoshu", "O");
map.put("img", R.drawable.planlogo);
plan_list.add(map);
return plan_list;
}
公共类Plan_SimpleAdapter扩展SimpleAdapter {
public class Plan_SimpleAdapter extends SimpleAdapter {
public Plan_SimpleAdapter(Context context,
List<? extends Map<String, ?>> data, int resource, String[] from,
int[] to) {
super(context, data, resource, from, to);
// TODO Auto-generated constructor stub
}
@Override
public void setViewImage(ImageView v, String value) {
// TODO Auto-generated method stub
try {
URL url = new URL(value);
URLConnection conn = url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
Bitmap bm = BitmapFactory.decodeStream(is);
v.setImageBitmap(bm);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
super.setViewImage(v, value);
}
}
推荐答案
您可以覆盖按照SimpleAdapter方法:
you can override following method in SimpleAdapter:
@Override
public void setViewImage(ImageView v, String value) {
super.setViewImage(v, value);
URL url;
try {
url = new URL(value);
URLConnection conn = url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
Bitmap bm = BitmapFactory.decodeStream(is);
v.setImageBitmap(bm);
} catch (Exception e) {
e.printStackTrace();
}
}
参数字符串值,是在数据集中的URL。
the parameter "String value" is the url in your dataset.
这篇关于如何使用SimpleAdapter显示在ListActivity客户项目从网页图片?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!