ListView的创建

ListView 是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项。创建ListView的两种方式;直接创建让Activity继承ListActivity。

1.基于数组的ListView:

在布局文件中这么写:

<!– 设置使用红色的分隔条 –><!– 使用数组资源给出列表 –><ListViewandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:divider="#f00"android:dividerHeight="2px"android:entries="@array/books"android:headerDividersEnabled="false" />

2.使用ArrayAdapter创建ListView:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(context, resource, objects)

三个参数:Contex:上下文resource:一个资源ID,该ID代表一个TextView,该TextView组件将作为ArrayAdapter的列表组件。objects:数组或list:为多个列表提供数据

例:

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;/** * ArrayAdapter演示 * * @author Caesar * */public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView mlistView = (ListView) findViewById(R.id.listview);String textArray[] = { "功能1", "功能2", "功能3", "功能4", "功能5", "功能6", "功能7","功能8", "功能8", "功能8", "功能8", "功能8", "功能8", "功能8", "功能8", "功能8","功能8", "功能8", "功能8", "功能8" };/** * 定义数据适配器 *** android.R.layout.simple_list_item_1:ListView的子条目显示的布局的ID ** textArray:显示在list中的数据 **///ArrayAdapter<String> adapter2 = new ArrayAdapter<>(context, resource, objects)ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, textArray);mlistView.setAdapter(adapter);}}

3.使用SimpleAdapter创建ListView:

SimpleAdapter simpadapter = new SimpleAdapter(Context context, List<? extends Map<String, ?>> data,int resource, String[] from, int[] to);context:上下文data:listview绑定的数据resource:子条目布局的idfrom:String[] 类型的 数组 data中的map集合里的keyto: resource里的id。。

例:

import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView mlistView = (ListView) findViewById(R.id.listview);List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();Map<String, Object> map = new HashMap<String, Object>();map.put("name", "张三1");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三2");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三3");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三4");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三5");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三2");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三3");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三4");map.put("icon", R.drawable.qq1);data.add(map);map = new HashMap<String, Object>();map.put("name", "张三5");map.put("icon", R.drawable.qq1);data.add(map);// public SimpleAdapter(Context context, List<? extends Map<String, ?>>// data, int resource, String[] from, int[] to) {SimpleAdapter adapter = new SimpleAdapter(this, // 上下文对象data, // listview绑定的数据R.layout.listview_item, // 子条目的布局的idnew String[] { "name", "icon" },// String[] 类型 data中的map集合里的keynew int[] { R.id.tv_name, R.id.iv_icon });// resource 中的idmlistView.setAdapter(adapter);}}

4.让Activity去继承ListActivity:

有的旅行是为了体验生活,感悟人生。

ListView的创建

相关文章:

你感兴趣的文章:

标签云: