Android用simpleAdapter來接收一個Bitmap顯示

 

    我在一個小項目中需要用到將SD卡中的圖片讀出後,縮略計算後再simpleAdapter進行顯示。在編程過程中,一般來說,在用simpleAdapter適配器時,我們所要顯示的圖片資源都是程序內的本地資源,而且是以資源的ID(Resources)形式來表現的。但是有時候我們需要用這個適配器來顯示網上的遠程圖片時,該如何直接顯示呢?方法是實現ViewBinder()這個接口,在裏面定義數據和視圖的匹配關係。代碼片段如下:

 

     	ArrayList<HashMap<String, Object>> listItemImage = getFileItems(files);
    	String[] from = {"ItemImage","ItemText","ItemCount"};
    	int[] to = {R.id.listItemImage,R.id.listItemName,R.id.listItemFolderCount};
    	listAdapter = new SimpleAdapter(ImageActivity.this, listItemImage, R.layout.listview_item, from, to);
    	
    	/*實現ViewBinder()這個接口*/
    	listAdapter.setViewBinder(new ViewBinder() {
			@Override
			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(listAdapter);
    	/*動態跟新ListView*/
    	listAdapter.notifyDataSetChanged();


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章