ListView的实例讲解

列表(listview)是Android界面开发的常用到的组件,通过列表的形式展现内容,其中子元素能够自适应长度显示。使用listview我个人觉得只要搞懂两点就可以了:
1.写出供显示的listview的一个子元素的xml。
2.适配器
系统提供给我们的适配器有ArrayAdapter(只能显示一行字)、SimpleAdapter(能够显示字和图片,个人觉得这个已经够用了)

光说不练是没有用的,下面开始实战:
(1)搞一个只有文字的listview的示例,按照我们上面的步骤开始思考,因为只有一个文字,所以就不要自己另外写一个xml了,android.R.layout.simple_list_item_1给我们提供了一个这样样式的子元素,因为我们只需要显示一行字,所以我选用了ArrayAdapter适配器,下面开始写适配器的代码,如下

public class Listviewadapter extends Activity {

private String[] data={"apple","banana","orange","pear"};     
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.listview);
    ListView list=(ListView)findViewById(R.id.listview);   

    ArrayAdapter<String> Listadapter2=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data); 
    list.setAdapter(Listadapter2);
}
}

运行效果:
这里写图片描述

(2)下面我们搞一个图片和文字的listview,还是按照我们的步骤来,第一写出listview子元素的xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:paddingBottom="4dip"
    android:paddingLeft="12dip"
    android:paddingRight="12dip" 
    >

    <ImageView 
        android:id="@+id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:paddingTop="12dip"
        />

    <TextView 
        android:id="@+id/itemname"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="textview1"
        android:textSize="20dip"
        />

    <TextView 
        android:id="@+id/itemname2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/itemname"
        android:text="textview2"
        />

</RelativeLayout>

第二写出这次listview的适配器代码,因为这个既需要图片有需要文字,所以我选用了SimpleAdapter适配器,代码如下:

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.listview);
    ListView list=(ListView)findViewById(R.id.listview);

    ArrayList<HashMap<String, Object>> listitem =new ArrayList<HashMap<String, Object>>();
    for(int i=0;i<10;i++)
    {
        HashMap<String, Object> item=new HashMap<String, Object>();
        item.put("Image",R.drawable.ic_launcher);
        item.put("name", "小明");
        item.put("电话号码", "123456");
        listitem.add(item);
    }

    SimpleAdapter listadapter=new SimpleAdapter(this, listitem, R.layout.list_adapter, new String[] {"Image","name","电话号码"}, new int[]{R.id.imageview,R.id.itemname,R.id.itemname2});
    list.setAdapter(Listadapter2);
}
}

运行结果
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值