標籤:
把複雜的資料(數組、鏈表、資料庫、集合等)填充到指定的視圖介面上。 arrayAdapter(數組適配器): 用於綁定一些格式單一的資料,資料來源:資料或者集合。
private ListView listView ;
private ArrayAdapter<String> adapter ;
private SimpleAdapter simpleAdapter; @Override
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.
activity_main); listView=(ListView) findViewById(R.id.
listView1); /** * 建立一個資料配接器 * arrayadapter(上下文,當前 listview載入的每個清單項目所對應的布局檔案,所對應的資料來源) */ String[] data={ "az","az1" }; adapter=
new ArrayAdapter<String>(
this ,android.R.layout.
simple_list_item_1,data); //使用視圖(listview)載入適配器 listView.setAdapter( adapter); } SimpleAdapter(簡單適配器): 用於綁定一些格式複雜的適配器,資料來源:只能是特定的泛型集合。
private ListView listView ;
private SimpleAdapter simpleAdapter ; /** * context:上下文 * data:資料來源(特定的泛型集合) List<? extends Map<String, ?>> data 一個MAP所組成的LIST集合 * ,每一個MAP都會對應 listview列表中的一行,每一個map中的KAY必須要包含所有在from中所指定的鍵 * from:map中的鍵名 * resource:清單項目的布局檔案 * to:綁定資料檢視中的ID,與from成對應關係 */ datalist=
new ArrayList<Map<String, Object>>(); simpleAdapter=
new SimpleAdapter(
this, getdata(), R.layout.
activity_main ,
new String[]{"image", "text"},
new
int[]{R.id.
imageView1 ,R.id.
textView1}); listView.setAdapter( simpleAdapter);
private List<Map<String, Object>> getdata(){
for (
int i = 0; i < 20; i++) { Map<String, Object>map=
new HashMap<String,Object>(); map.put( "image", R.drawable.
ic_launcher); map.put( "text", "az" ); datalist.add(map); }
return datalist ; } 資料配接器是連結資料來源和視圖介面的橋樑。 實現過程:建立適配器——添加資料來源到適配器——視圖載入適配器
Android 資料配接器