一.在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);
}
}
三.設(shè)置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的初始化方法袱贮,三個(gè)參數(shù)分別代表:適配器的上下文(常用this)势木,適配器顯示每一個(gè)列表項(xiàng)的布局文件,數(shù)據(jù)源
四.為L(zhǎng)istView設(shè)置適配器
lv.setAdapter(arr_adapte);
五.設(shè)置SimpleAdapter適配器
private SimpleAdapter sim_Adapter;
sim_Adapter= new SimpleAdapter(context, data, resource,from ,to);
代碼理解
context:上下文
data:數(shù)據(jù)源——List<entends Map<String, ?>>data——一個(gè)Map所組成的List集合杯聚,每一個(gè)Map對(duì)應(yīng)ListView列表中的一行螃诅,每一個(gè)Map(鍵-值)中的鍵必須包含所有在from中指定的鍵
resource:列表項(xiàng)的布局文件ID
from:Map中的鍵名
to:綁定數(shù)據(jù)視圖中的ID,與from成對(duì)應(yīng)關(guān)系
六.布局文件編寫,并將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"}
八.建立數(shù)據(jù)源
1.初始化數(shù)據(jù)源
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()
九.綁定適配器魚(yú)sim_adapter
lv.setAdapter(sim_Adapter);