ListView的简单用法

来源:互联网 发布:h3c vlan加端口 编辑:程序博客网 时间:2024/06/04 20:28

一:运行效果图


二:学习目标

1):掌握ListView控件的使用

2):掌握如何自定义Adapter的使用

三:主要参考步骤及代码

       采用ListView的SimapleAdapter,进行数据展示,展示水果的图片和英文单词,首先需要定义一个样式文件fruit.item,其布局如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:orientation="horizontal" >    <ImageView        android:id="@+id/imageName"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/apple_pic" />    <TextView        android:id="@+id/tvName"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:paddingLeft="10dp"        android:layout_marginTop="20dp"        android:text="Apple" /></LinearLayout>
使用simapleAdapter的数据一般都是用HashMap构成的列表,列表的每一节对应ListView的每一行。通过SimpleAdapter的构造函数,将HashMap的每个键的数据映射到布局文件中对应控件上,这个布局文件一般根据自己的需求来自己定义。SimpleAdapter的使用步骤:

1)根据需要定义ListView每行所实现的布局

2)定义一个HashMap构成的列表,将数据以键值对的方式存放在里面。

3)构造SimpleAdapter的对象

4)将ListView绑定到SimpleAdapter上。

主要代码:

package com.bzu.bztc.listviewdemo;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.SimpleAdapter;public class MainActivity extends Activity {private ListView listView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView = (ListView) findViewById(R.id.listview);SimpleAdapter mSimpleAdapter = new SimpleAdapter(this, this.getData(),R.layout.fruit_item,new String[]{"tvName","imageName"},new int[]{R.id.tvName,R.id.imageName});listView.setAdapter(mSimpleAdapter);}private List<Map<String, Object>> getData() {List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();Map<String,Object> map=new HashMap<String, Object>();map.put("tvName", "Apple");map.put("imageName",R.drawable.apple_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Banana");map.put("imageName",R.drawable.banana_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Orange");map.put("imageName",R.drawable.orange_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "WaterMelon");map.put("imageName",R.drawable.watermelon_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Pear");map.put("imageName",R.drawable.pear_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Grape");map.put("imageName",R.drawable.grape_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Pineapple");map.put("imageName",R.drawable.pineapple_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Strawberry");map.put("imageName",R.drawable.strawberry_pic);list.add(map);map=new HashMap<String,Object>();map.put("tvName", "Cherry");map.put("imageName",R.drawable.cherry_pic);list.add(map);return list;}     }

0 0