一.在xml文件中放置ListView
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
二.在Activity中初始化ListView
public class MainActivity extends Activity {
private ListView lv;
private ArrayAdapter<String>arr_adapte;
private SimpleAdapter sim_Adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv= (ListView) findViewById(R.id.listView1);
}
}
三.设置ArrayAdapter适配器
public class MainActivity extends Activity {
private ListView lv;
private ArrayAdapter<String>arr_adapte;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv= (ListView) findViewById(R.id.listView1);
String[]arr_data= {"data1","data2","data3"};
arr_adapte = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1 , arr_data);
}
}
代码理解
arr_adapte = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1 , arr_data);
ArrayAdapter的初始化方法,三个参数分别代表:适配器的上下文(常用this),适配器显示每一个列表项的布局文件,数据源
四.为ListView设置适配器
lv.setAdapter(arr_adapte);
五.设置SimpleAdapter适配器
private SimpleAdapter sim_Adapter;
sim_Adapter= new SimpleAdapter(context, data, resource,from ,to);
代码理解
context:上下文
data:数据源——List<entends Map<String, ?>>data——一个Map所组成的List集合,每一个Map对应ListView列表中的一行,每一个Map(键-值)中的键必须包含所有在from中指定的键
resource:列表项的布局文件ID
from:Map中的键名
to:绑定数据视图中的ID,与from成对应关系
六.布局文件编写,并将resource改为该布局文件R.layout.item,将to改为new int[] {R.id.pic,R.id.text}
新建xml文件
<ImageView
android:id="@+id/pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#000000"
android:text="demo"/>
七.将from改为new String[] {"pic","text"}
八.建立数据源
1.初始化数据源
private List<Map<String,Object>> dataList;
dataList= new ArrayList<Map<String, Object>>();
private List<Map<String,Object>> getData()
{
for(int i =0;i<20;i++){
Map<String,Object>map= new HashMap<String,Object>();
map.put("pic", R.drawable.ic_launcher);
map.put("text", "text"+i);
dataList.add(map);
}
return dataList;
}
2.将data改为getData()
九.绑定适配器鱼sim_adapter
lv.setAdapter(sim_Adapter);