//从网络中下载的数据显示在listview中的处理方法,重点是显示bitmap问题的处理,直接粘上代码,以供将来参考。public class ViewDianNao extends Activity {private LinearLayout myListLayout; // 声明LinearLayout类型变量private ListView tripListView;// 声明ListView类型变量private ProgressDialog myDialog;// 声明ProgressDialog类型变量private List<Goods> goodsList;// 声明List类型变量@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);this.setContentView(R.layout.viewdiannao);// 加载viewtuijian.xml资源文件myListLayout = (LinearLayout) this.findViewById(R.id.tripList);// 获取资源文件中的LinearLayouttripListView = new ListView(this);// 创建ListView对象// 创建LinearLayout.LayoutParams类型对象LinearLayout.LayoutParams tripListViewParam = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.FILL_PARENT);tripListView.setCacheColorHint(Color.WHITE);myListLayout.addView(tripListView, tripListViewParam);// 将tripListView添加到myListLayout布局上getGoodsList();// 读取商品列表tripListView.setOnItemClickListener(new OnItemClickListener() {// tripListView列表项单击事件@Overridepublic void onItemClick(AdapterView<?> arg0, View arg1,int position, long id) {// TODO Auto-generated method stubGoods theGood = goodsList.get(position);// 获取当前列表项选中的商品Intent it = new Intent();//创建Intent对象Bundle bundle = new Bundle();//创建Bundle对象it.setClass(ViewDianNao.this, ShangPinDetailView.class);bundle.putSerializable("GoodObj",(Serializable) theGood);it.putExtras(bundle);startActivity(it);}});}// 读取商品列表数据private void getGoodsList() {myDialog = ProgressDialog.show(ViewDianNao.this, "请稍等...", "数据检索中...",true);new Thread() {public void run() {try {goodsList = new ConnectWeb().getTypeList(3);//获取电脑办公类别商品列表,3表示类别为电脑办公Message m = new Message();listHandler.sendMessage(m);} catch (Exception e) {e.printStackTrace();} finally {myDialog.dismiss();}}}.start();}Handler listHandler = new Handler() {public void handleMessage(Message msg) {if (goodsList.size() == 0) {return;}showGoodsList();//填充路书列表适配器}};/** * 填充路书列表适配器 */public void showGoodsList() {SimpleAdapter adapter = new SimpleAdapter(this, getTripList(),R.layout.tuijianrow, new String[] { "img", "name", "money","zhe" }, new int[] { R.id.tripImg, R.id.tripTitle,R.id.tripSegName, R.id.tripProv });tripListView.setAdapter(adapter);//为tripListView添加适配器adapteradapter.setViewBinder(new ViewBinder() {public boolean setViewValue(View arg0, Object arg1,String textRepresentation) {if ((arg0 instanceof ImageView) & (arg1 instanceof Bitmap)) {ImageView imageView = (ImageView) arg0;Bitmap bitmap = (Bitmap) arg1;imageView.setImageBitmap(bitmap);return true;} else {return false;}}});}public List<Map<String, Object>> getTripList() {List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();for (int i = 0; i < goodsList.size(); i += 1) {Map<String, Object> map = new HashMap<String, Object>();Goods goods = goodsList.get(i);try {URL picUrl = new URL(goods.getDir() + "/" + goods.getPic());Bitmap pngBM = BitmapFactory.decodeStream(picUrl.openStream());map.put("img", pngBM);} catch (Exception e) {e.printStackTrace();}map.put("name", "商品名称:"+goods.getBrand());map.put("money", "商品价格:"+"¥" + goods.getPrice());map.put("zhe", "商品折扣:"+goods.getDiscount());list.add(map);}return list;}}


更多相关文章

  1. Android的jni的调用C,C++的几个应用(基本类型,数组,类(结构体))
  2. 转:Parcle
  3. 【Android(安卓)- 框架】之可悬浮列表StickyHeadersRecyclerView
  4. Android(安卓)@IntDef的使用 - 代替枚举
  5. android开发环境搭建详解(eclipse + android sdk)
  6. React Native 环境变量配置(window7)
  7. windows 下安卓开发环境配置
  8. Android(安卓)RecyclerView 二级列表实现
  9. ListView的两种使用方法1.继承ListActivity2.自己定义ListView

随机推荐

  1. Total Commander 公测第三版发布[Android
  2. 01.Android相关术语
  3. Android中Bitmap和Drawable互相转化
  4. Android初识之Activity组件
  5. android View System touch 事件分发流程
  6. Android中显示,隐藏Status Bar和Navigatio
  7. Android和Android Linux kernel源码获取
  8. iOS这几个方面该向Android好好学习
  9. Android UI开发第十二篇——动画效果Anim
  10. EditText横屏时,弹出软件盘时不进行全屏