主方法
1 package listdemo.example.administrator.myapplication;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.widget.ArrayAdapter;
6 import android.widget.ListView;
7 import android.widget.SimpleAdapter;
8
9 import java.util.ArrayList;
10 import java.util.HashMap;
11 import java.util.List;
12 import java.util.Map;
13
14 public class MainActivity extends Activity {
15 private ListView listView;
16 private ArrayAdapter<String> arrayAdapter;
17 private SimpleAdapter simpleAdapter;
18 private List<Map<String,Object>>dataList;
19
20 @Override
21 protected void onCreate(Bundle savedInstanceState) {
22 super.onCreate(savedInstanceState);
23 setContentView(R.layout.activity_main);
24 listView= (ListView) findViewById(R.id.list_view);
25
26 /*1新建适配器new ArrayAdapt(当前上下文,当前ListView每一个列表项所对应的布局文件,数据源)android.R.layout.simple_list_item_1系统自带的,本质上是一个TextView
27 2 添加数据源到适配器
28 3 视图加载适配器*/
29 // String[] arr_data={"慕课网","秦时明月","天下"};
30 // arrayAdapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr_data);
31 // listView.setAdapter(arrayAdapter);
32 /*SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
33 context:上下文
34 data:数据源List<? extends Map<String, ?>> data,一个Map所组成的List集合
35 每一个Map都会对应ListView列表中的一行
36 每一个Map(键值对)中键都要包含在from中所指定的键
37 resource:列表项中的布局id
38 from:Map中的键名
39 to:绑定视图中的id,与from成对应关系*/
40 dataList=new ArrayList<Map<String,Object>>();
41 simpleAdapter=new SimpleAdapter(this,getDataList(),R.layout.item_main,new String[]{"pic","txt"},new int[]{R.id.image,R.id.text});
42 listView.setAdapter(simpleAdapter);/*不要忘记*/
43 }
44
45
46 private List<Map<String, Object>> getDataList() {
47 for (int i=0;i<20;i++){
48 Map<String,Object> map=new HashMap<String,Object>();
49 map.put("pic",R.mipmap.ic_launcher);
50 map.put("txt","慕课网"+i);
51 dataList.add(map);/*忘记之后无显示*/
52 }
53 return dataList;
54 }
55 }
layout布局xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 android:orientation="vertical">
7
8
9 <ListView
10 android:layout_width="match_parent"
11 android:layout_height="wrap_content"
12 android:id="@+id/list_view"></ListView>
13
14 </LinearLayout>
layout布局xml2
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="horizontal" android:layout_width="match_parent"
4 android:layout_height="match_parent">
5 <ImageView
6 android:layout_width="wrap_content"
7 android:layout_height="wrap_content"
8 android:layout_marginLeft="10dp"
9 android:id="@+id/image"
10 android:src="@mipmap/ic_launcher"
11 />
12 <TextView
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:textSize="20sp"
16 android:layout_marginLeft="10dp"
17 android:id="@+id/text"
18 android:textColor="#000000"
19 android:text="慕课网"/>
20 </LinearLayout>
21 <!--
22 textColor=#000000黑色-->