SimpleAdapter动态加载Bitmap

来源:互联网 发布:巨人网络 刘伟 编辑:程序博客网 时间:2024/05/14 23:50
public class tabcontent3 extends Activity {List<Map<String,Object>>list;List<infoMode> info;infoDao infodao;    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.tab3);/*将drawable转成bitmap*/                                          infodao=new infoDao(tabcontent3.this);          info=infodao.infolist();        list=new ArrayList<Map<String,Object>>();        ListView listview=(ListView)findViewById(R.id.infolist);        for (int i = 0; i <info.size(); i++) {Map<String,Object>map=new HashMap<String,Object>();map.put("img", bp(info.get(i).getImg()));map.put("title","『"+info.get(i).getInfotitle()+"』");map.put("short",info.get(i).getShortinfo());list.add(map);}        SimpleAdapter sa=new SimpleAdapter(this, list, R.layout.tab3_one, new String[]{"img","title","short"}, new int[]{R.id.tab3img,R.id.tab3title,R.id.tab3short});        sa.setViewBinder(new ViewBinder() {                  public boolean setViewValue(View view, Object data,                  String textRepresentation) {              // TODO Auto-generated method stub               if(view instanceof ImageView && data instanceof Bitmap){                  ImageView i = (ImageView)view;                  i.setImageBitmap((Bitmap) data);                  return true;              }              return false;          }          });                                  listview.setAdapter(sa);        ScrollAndListview sal=new ScrollAndListview();        sal.setListViewHeightBasedOnChildren(listview);        /*点击其中一项*/        listview.setOnItemClickListener(new OnItemClickListener(){@Overridepublic void onItemClick(AdapterView<?> parent, View arg1, int pos,long arg3) {int choice=(Integer)info.get(pos).getInfoid();Intent intent=new Intent(tabcontent3.this,detail.class);Bundle bundle=new Bundle();bundle.putInt("findid",choice);intent.putExtras(bundle);startActivity(intent);}                });    }    public Bitmap bp(int pic){        Resources res = getResources();        Bitmap bmp = BitmapFactory.decodeResource(res, pic);        Bitmap bmp2= corner.getRoundCornerBitmap(bmp,20.0f);        return bmp2;    }}


0 0
原创粉丝点击