• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
火磷
Memory will fade,but not notes.
博客园    首页    新随笔    联系   管理    订阅  订阅
Android开发--ListView的应用

1.简介

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

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

2.构建

Activity1:                                                        

         

XML文件如下:

act1:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:id="@+id/RelativeLayout1"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:orientation="vertical" >
 7 
 8     <ListView
 9         android:id="@+id/listView1"
10         android:layout_width="match_parent"
11         android:layout_height="wrap_content"
12         android:layout_alignParentStart="true"
13         android:layout_alignParentTop="true" >
14     </ListView>
15 </RelativeLayout>

act2:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context="example.adapter.Activity1" >
10 
11     <ImageView
12         android:id="@+id/imageView1"
13         android:layout_width="60dp"
14         android:layout_height="60dp"
15         android:layout_alignParentStart="true"
16         android:layout_alignParentTop="true"
17         android:contentDescription="@string/function"
18         android:src="@drawable/i1" />
19 
20     <TextView
21         android:id="@+id/textView1"
22         android:layout_width="wrap_content"
23         android:layout_height="wrap_content"
24         android:layout_alignBottom="@+id/imageView1"
25         android:layout_marginBottom="17dp"
26         android:layout_marginStart="30dp"
27         android:layout_toEndOf="@+id/imageView1"
28         android:textSize="30sp"
29         android:text="@string/tv" />
30 </RelativeLayout>

3.自定义Adapter

 

 1 public class MyAdapter extends BaseAdapter{
 2     private Context context;
 3     private String data[];
 4     
 5     public MyAdapter(Context context,String data[]) {
 6         this.context=context;
 7         this.data=data;
 8     }
 9     @Override
10     //获取数据长度
11     public int getCount() {        
12         return data.length;
13     }
14     @Override
15     //获取数据Item
16     public Object getItem(int position) {       
17         return data[position];
18     }
19     @Override
20     //获得数据ID
21     public long getItemId(int position) {  
22         return position;
23     }
24     @Override
25     //需要加载的视图
26     public View getView(int position, View convertView, ViewGroup parent) {
27         if(convertView==null){
28             convertView=LayoutInflater.from(context).inflate(R.layout.act2, null);
29         }
30         TextView tv=(TextView) convertView.findViewById(R.id.textView1);
31         tv.setText(data[position]);    
32         return convertView;
33     }
34 }

4.Activtiy1代码

 

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

5.效果

 

posted on 2016-02-15 16:26  火磷  阅读(227)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3