一,思维导图
二,继承关系图
四种适配器
列表视图(ListView),它是AdapterView的子类,要通过适配器作为梁桥来绑定数据源。有四种适配器可以使用:数组适配器(ArrayAdapter)、简单适配器(SimpleAdapter)、简单游标适配器(SimpleCursorAdapter)、基适配器(BaseAdapter)。
三,实例
1,运行效果
2,实现步骤
(1)创建安卓应用
(2)布局资源文件activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_icon"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="20dp"
android:layout_weight="0.5"
android:text="@string/icon"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/name"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:text="@string/phone"
android:textSize="20sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:background="#aaaaaa"/>
<ListView
android:id="@+id/lv_user"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
用户列表项模板user_list_item.xml
<TextView
android:id="@+id/tv_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textColor="#0000ff"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.5"
android:textColor="#ff00ff"
android:textSize="20sp" />
(3)字符串资源文件
<resources>
<string name="app_name">0605damo_phone</string>
<string name="icon">图片</string>
<string name="name">姓名</string>
<string name="phone">电话号码</string>
</resources>
(4)主界面main文件
public class MainActivity extends Activity {
private ListView lvUser;
private List<HashMap<String, Object>> users;
private SimpleAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 利用布局资源文件设置用户界面
setContentView(R.layout.activity_main);
// 通过资源标识获得控件实例
lvUser = findViewById(R.id.lv_user);
// 初始化用户列表(数据源)
users = getUsers();
// 创建简单适配器
adapter = new SimpleAdapter(
this, // 上下文环境
users, // 数据源(数组列表)
R.layout.user_list_item, // 列表项模板
new String[] {"icon", "name", "phone"}, // 字段名数组
new int[] {R.id.iv_icon, R.id.tv_name, R.id.tv_phone} // 控件标识数组
);
// 给列表控件设置适配器
lvUser.setAdapter(adapter);
}
private List<HashMap<String,Object>> getUsers() {
ArrayList<HashMap<String, Object>> users = new ArrayList<>();
HashMap<String, Object> user = null;
// 创建第1个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img1);
user.put("name", "李晓云");
user.put("phone", "15890904567");
// 将该用户添加到用户列表
users.add(user);
// 创建第2个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img2);
user.put("name", "张三丰");
user.put("phone", "159345611222");
// 将该用户添加到用户列表
users.add(user);
// 创建第3个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img3);
user.put("name", "郑智化");
user.put("phone", "13890905610");
// 将该用户添加到用户列表
users.add(user);
// 创建第4个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img4);
user.put("name", "李克勤");
user.put("phone", "13823234590");
// 将该用户添加到用户列表
users.add(user);
// 创建第5个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img5);
user.put("name", "梅艳芳");
user.put("phone", "13878781120");
// 将该用户添加到用户列表
users.add(user);
// 创建第6个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img6);
user.put("name", "王晓峰");
user.put("phone", "13890903456");
// 将该用户添加到用户列表
users.add(user);
// 创建第7个用户
user = new HashMap<>();
user.put("icon", R.mipmap.img7);
user.put("name", "佟大为");
user.put("phone", "15812125690");
// 将该用户添加到用户列表
users.add(user);
return users;
}
}