首页 > 移动平台 > 详细

Android开发--ListView的应用

时间:2016-02-15 17:58:12      阅读:166      评论:0      收藏:0      [点我收藏+]

1.简介

ListView用于以列表的形式展示数据。它在装载数据时,不能使用ListView类的add()等相关方法添加,而要借助Adapter对象进行添加。另外,由于

系统提供的Adapter往往不符合我们的要求,需要我们自定义Adapter。

2.构建

Activity1:                                                        

技术分享   技术分享   技术分享    技术分享

XML文件如下:

act1:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true" >
    </ListView>
</RelativeLayout>

act2:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="example.adapter.Activity1" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/function"
        android:src="@drawable/i1" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView1"
        android:layout_marginBottom="17dp"
        android:layout_marginStart="30dp"
        android:layout_toEndOf="@+id/imageView1"
        android:textSize="30sp"
        android:text="@string/tv" />
</RelativeLayout>

3.自定义Adapter

public class MyAdapter extends BaseAdapter{
    private Context context;
    private String data[];
    
    public MyAdapter(Context context,String data[]) {
        this.context=context;
        this.data=data;
    }
    @Override
    //获取数据长度
    public int getCount() {       
        return data.length;
    }
    @Override
    //获取数据Item
    public Object getItem(int position) {      
        return data[position];
    }
    @Override
    //获得数据ID
    public long getItemId(int position) { 
        return position;
    }
    @Override
    //需要加载的视图
    public View getView(int position, View convertView, ViewGroup parent) {
        if(convertView==null){
            convertView=LayoutInflater.from(context).inflate(R.layout.act2, null);
        }
        TextView tv=(TextView) convertView.findViewById(R.id.textView1);
        tv.setText(data[position]);    
        return convertView;
    }
}

4.Activtiy1代码

public class Activity1 extends Activity {
    private ListView lv;
    //适配器
    private MyAdapter adapter;
    //数据
    String data[]={"火磷","王悦","张晓波","单佳","王赵文","徐磊","高达"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act1);
        lv=(ListView) findViewById(R.id.listView1);
        //加载adapter
        adapter=new MyAdapter(this, data);
        //绑定
        lv.setAdapter(adapter);
    }

5.效果

技术分享

 

Android开发--ListView的应用

原文:http://www.cnblogs.com/jfl-xx/p/5190790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!