package com.example.steven.listviewtest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.Map;import java.util.HashMap;import java.util.List;public class MainActivity extends AppCompatActivity { private ListView listView; private ArrayAdapter<String> arr_adapter; private SimpleAdapter simp_adapter; private List<Map<String,Object>> dataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listView =(ListView) findViewById(R.id.list_View );// 1新建一个数据适配器.// ArrayAdapter(上下文,当前listView加载每一个列表项所对应的布局文件).// 2适配器加载数据源.(最为关键的一步).// String[] arr_data = {"慕课网1","慕课网2","慕课网3","慕课网4"}; dataList = new ArrayList<Map<String, Object>>();// arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,arr_data);// 3视图(Listview)加载适配器. //listView.setAdapter(arr_adapter); private List<Map<String,Object>> getData() { for (int i=0;i<20;i++) { Map<String,Object>map=new HashMap<>(); map.put("pic",R.mipmap.ic_launcher); map.put("text","慕课网"+i); dataList.add(map); } return dataList; } private String getString(){ return null; } simp_adapter = new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text"},new int[] {R.id.pic,R.id.text}); listView.setAdapter(simp_adapter);// 4使用simpleadapter适配器. /* *context:上下文。 * data:数据源(List<? extends Map<String ,? >>data )一个Map所组成的List集合. * 每一个Map都会对应Listview列表中的一行. * 每一个Map(键-值对)中的键必须包含所在from中所指定的键. * resource: 列表项的布局文件ID * from:Map中的键名. * to:绑定数据视图中的ID,于form形成对应关系. */ }}
添加回答
举报
0/150
提交
取消