android开发-listview的用法

/*注意:1继承了ListActivity,ListActivity和普通的Activity没有太大的差别,

  • 不同就是对显示ListView做了许多优化,方便显示而已
    *2使用simpleAdapter的数据用一般都是HashMap构成的List,list的每一节对应ListView的每一行

*/

第一步:编写布局文件main.xml,添加一个imageview和textview。具体代码如下

<?xml version="1.0" encoding="utf-8"?> 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal" 
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"> 
     <ImageView android:id="@+id/image" 
         android:layout_width="60dp"
         android:layout_height="60dp" 
         android:src="@drawable/icon"
         android:paddingLeft="10dp" /> 
     <TextView android:id="@+id/textview1"
         android:layout_width="wrap_content" 
         android:layout_height="fill_parent"
         android:textSize="16dp" 
         android:gravity="center_vertical"
         android:paddingLeft="10dp" /> 
 </LinearLayout>

第二步:修改ListView03.java,添加listview的相关操作,具体代码如下

View Code  
 package cn.shaoyangjiang.com; 
 import java.util.ArrayList; 
 import java.util.HashMap; 
 import java.util.List; 
 import java.util.Map; 
 import android.app.ListActivity; 
 import android.os.Bundle; 
 import android.widget.SimpleAdapter; 
 public class Listview03Activity extends ListActivity { 
     private static String\[\] aa = new String\[\]{"hello world","this is my listview", 
             "邵洋江加油","你会成功的","you will success"}; 
     private static int\[\] draw = new int\[\]{R.drawable.brick,R.drawable.calendar,R.drawable.eoemarket 
                     ,R.drawable.ic_launcher,R.drawable.terminater,R.drawable.whitesociety}; 
     @Override 
     public void onCreate(Bundle savedInstanceState) 
     { 
         super.onCreate(savedInstanceState); 
         //每个list里面放的都是MAP,map里面放的是键值对,这里指图片和文字 
         List<Map<String, Object>> Items = new ArrayList<Map<String, Object>>(); 
         //把该显示的内容放到list中 
         for (int i = 0; i < aa.length; i++) 
         { 
             Map<String, Object> item = new HashMap<String, Object>(); 
             item.put("image", draw\[i\]); 
             item.put("textview1", aa\[i\]); 
             Items.add(item); 
         } 
         //构建适配器Adapter,将数据与显示数据的布局页面绑定 
         SimpleAdapter simpleAdapter = new SimpleAdapter(this, Items, 
          R.layout.main, new String\[\]{ "textview1", "image" }, 
         new int\[\]{ R.id.textview1,  R.id.image}); 
         //通过setAdapter()方法把适配器设置给ListView 
         setListAdapter(simpleAdapter); 
         } 
 }

如果还想单机每个listview的item出现响应,可以使用下面这个方法

View Code  
         listView.setOnItemClickListener(new OnItemClickListener() { 
             @Override 
             public void onItemClick(AdapterView<?> parent, View view, 
                     int position, long id) { 
                 //强制转换为ListView 
                 ListView lv =(ListView)parent; 
                 //得到item的位置 
                 HashMap<String,Object> item = (HashMap<String,Object>)lv.getItemAtPosition(position); 
                 //显示 
                 Toast.makeText(MainActivity.this, item.get("listview1").toString(), 1).show(); 
             } 
         });

效果图:

如果还想深入了解,下面的链接不错

Android之Adapter用法总结:http://kb.cnblogs.com/a/2328334/