Android Adapter 鏄皢鏁版嵁緇戝畾鍒?/span>UI 鐣岄潰涓婄殑妗ユ帴綾匯?/span> Adapter璐熻矗鍒涘緩鍜屾樉紺烘瘡涓」鐩殑瀛?/span>View鍜屾彁渚涘涓嬪眰鏁版嵁鐨勮闂傛敮鎸?/span>Adapter緇戝畾鐨?/span>UI鎺т歡蹇呴』鎵╁睍Adapter View鎶借薄綾匯傚垱寤鴻嚜宸辯殑緇ф壙鑷?/span>AdapterView鐨勬帶浠跺拰鍒涘緩鏂扮殑Adapter綾繪潵緇戝畾瀹冧滑鏄彲鑳界殑銆?/span>
Android 緋葷粺鏈韓鎻愪緵浜嗕袱縐嶇幇鎴愮殑Adapter 渚涙垜浠嬌鐢ㄣ?/span>
1.ArrayAdapter錛氬畠鏄竴涓粦瀹?/span>View鍒頒竴緇勫璞$殑閫氱敤綾匯傞粯璁ゆ儏鍐典笅錛?/span>ArrayAdapter緇戝畾姣忎釜瀵硅薄鐨?/span>toString鍊煎埌layout涓鍏堝畾涔夌殑TextView絀洪棿涓娿傛瀯閫犲嚱鏁板厑璁哥敤鎴蜂嬌鐢ㄦ洿鍔犲鏉傜殑Layout鎴栬呴氳繃閲嶅啓getView鏂規(guī)硶鏉ユ墿灞曠被浠庤屼嬌鐢?/span>TextView鐨勬浛浠g墿
2.SimpleCursorAdapter錛氬畠緇戝畾View鍒?/span>Content Provider 鏌ヨ榪斿洖鐨勬父鏍囦笂銆傛寚瀹氫竴涓?/span>XML layout瀹氫箟錛岀劧鍚庡皢鏁版嵁闆嗙殑姣忎竴鍒楃殑鍊肩粦瀹氬埌layout涓殑涓涓?/span>View
鍐欒嚜宸辯殑Adapter綾誨疄鐜版洿澶氬鏉傜殑UI鐣岄潰鍜屾暟鎹粦瀹?/span>
public class MyAdapter extends SimpleAdapter {
private LayoutInflater mInflater;
private Context context;
private List<Map<String,Object>> list;
private int resource;
private String[] tags;
private int[] ids;
public MyAdapter(Context context, List<Map<String,Object>> items, int resource,
String[] tags,int[] ids) {
super(context, items, resource, tags, ids);
this.mInflater = LayoutInflater.from(context);
this.context = context;
this.list = items;
this.resource = resource;
this.tags = tags;
this.ids = ids;
}
public int getCount() {
return list.size();
}
public Object getItem(int position) {
return list.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
convertView = super.getView(position, convertView, parent);
if (convertView == null) {
Toast.makeText(context, "this is null", 2000).show();
} else {
}
ImageView more = (ImageView) convertView.findViewById(R.id.iv_more);
more.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(context, VehicleInfoActivity.class);
intent.putExtra("vehicleID", VehicleListActivity.idList.get(position));
intent.putExtra("CameraID", "0");
Toast.makeText(context, "sssssss", 2000).show();
context.startActivity(intent);
}
});
return convertView;
}
}
涓昏閲嶈澆getCount 鏂規(guī)硶錛?/span>getView鏂規(guī)硶 getItem鏂規(guī)硶 getItemId鏂規(guī)硶錛?/span> 鍙傛暟瑙f瀽錛?/span>context錛氫紶鍏ョ殑涓婁笅鏂?/span>Activity, items 緇戝畾鏁版嵁鐨勫垪琛?/span>, resource layout甯冨眬ID, tags 緇戝畾鏁版嵁鐨?/span>key, ids Item 涓搴?/span>key鐨勮祫婧?/span>ID銆?/span> 鍦?/span>getView涓嚜瀹氫箟Item閲岄潰鐨勪簨浠剁洃鍚紝鑷畾涔夋柊鐨勯噸杞藉悗鐨勬樉紺虹晫闈㈣繑鍥?/span> convertView銆?/span> 濡傛灉闇瑕佷嬌鐢ㄥ埌鐖剁被SimpleAdapter 鏄劇ず鏁堟灉闇瑕佽皟鐢?/span>super.getView鏂規(guī)硶涓?/span> convertView 璧嬪箋?/span>

]]>