1.ArrayAdapter(数组适配器):用于绑定格式单一的数据。数据源:可以是集合或数组
public class MainActivity extends AppCompatActivity { private ListView lv; private ArrayAdapter<String> arr_adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView)findViewById(R.id.listView); String[] array_data = {"礼拜一","礼拜二","礼拜三","礼拜四","礼拜五"}; //1.新建一个适配器 //Arraydapter(上下文,每一个加载列表项对应的布局文件,数据源,) // 2.适配器加载数据源 arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array_data); //安卓自带的布局文件 注意要先android.R. //3.视图Listview加载适配器 lv.setAdapter(arr_adapter); } }
2.SimpleAdapter(简单适配器):用于绑定格式复杂的数据。数据源:只能是特定泛指的集合。
public class MainActivity extends AppCompatActivity { private ListView lv; private SimpleAdapter sim_adapter; private List<Map<String,Object>> datalist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView)findViewById(R.id.listView); datalist = new ArrayList<Map<String,Object>>(); //1.新建适配器 //2.适配器加载数据源 /* 各个参数含义 context:上下文 data:数据源 (List<Map<String,object>>)多个Map所组成的List集合 每一个Map都对应ListView列表中的一行 每一个Map(键-值对)中的键必须包含所有在from中所指定的键 resource:列表项的布局的文件ID from: Map中的键名 to: 绑定数据视图中的ID,与from成对应关系。 */ sim_adapter = new SimpleAdapter(this,getDATA(),R.layout.abc,new String[]{"first","second"},new int[]{R.id.pic,R.id.text}); //3.视图加载适配器 lv.setAdapter(sim_adapter); } private List<Map<String,Object>> getDATA(){ for(int i = 0; i< 20 ; i++){ Map<String , Object> map = new HashMap<String,Object>(); map.put("first",R.drawable.abc); map.put("second","礼拜"+i); datalist.add(map); } return datalist; } }