SimpleAdapter + ListView 使用

实现的效果图

技术分析:

第一:SimpleAdapter的构造函数

第二:list与map形成的数据结构

代码:

主界面aa.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <ListView
 7         android:id="@+id/listView1"
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:layout_x="2dp"
11         android:layout_y="2dp" >
12     </ListView>
13
14 </AbsoluteLayout>

样式界面aaa.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent" >
 5
 6     <ImageView
 7         android:id="@+id/MyLogo"
 8         android:layout_width="wrap_content"
 9         android:layout_height="wrap_content"
10         android:layout_x="12dp"
11         android:layout_y="12dp"
12         android:src="@drawable/ic_launcher" />
13
14     <TextView
15         android:id="@+id/MyName"
16         android:layout_width="wrap_content"
17         android:layout_height="wrap_content"
18         android:layout_x="211dp"
19         android:layout_y="15dp"
20         android:text="Large Text"
21         android:textAppearance="?android:attr/textAppearanceLarge" />
22
23     <TextView
24         android:id="@+id/MyTel"
25         android:layout_width="wrap_content"
26         android:layout_height="wrap_content"
27         android:layout_x="212dp"
28         android:layout_y="70dp"
29         android:text="TextView" />
30
31 </AbsoluteLayout>

主程序:

 1 package com.abc;
 2
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7
 8 import android.net.Uri;
 9 import android.os.Bundle;
10 import android.app.Activity;
11 import android.content.Intent;
12 import android.view.Menu;
13 import android.view.View;
14 import android.widget.AdapterView;
15 import android.widget.SimpleAdapter;
16 import android.widget.AdapterView.OnItemClickListener;
17 import android.widget.ListView;
18
19 public class MainActivity extends Activity implements OnItemClickListener{
20
21     ListView listview;
22     List<Map<String,Object>> list;
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.aa);
27         //难点二
28         listview=(ListView) this.findViewById(R.id.listView1);
29         listview.setOnItemClickListener(this);
30
31
32         list=new ArrayList<Map<String,Object>>();
33         Map<String,Object> m=null;
34
35         {m=new HashMap<String,Object>();
36         m.put("name", "张三");
37         m.put("tel", "13425252525");
38         m.put("logo",R.drawable.a1);
39         list.add(m);}
40
41         {m=new HashMap<String,Object>();
42         m.put("name", "李四");
43         m.put("tel", "138123465987");
44         m.put("logo",R.drawable.a2);
45         list.add(m);}
46
47         {m=new HashMap<String,Object>();
48         m.put("name", "王五");
49         m.put("tel", "13567828765");
50         m.put("logo",R.drawable.a3);
51         list.add(m);}
52
53         {m=new HashMap<String,Object>();
54         m.put("name", "刘六");
55         m.put("tel", "1842252525");
56         m.put("logo",R.drawable.a4);
57         list.add(m);}
58
59
60         //*****难点一******//
61         SimpleAdapter adapter=new SimpleAdapter(this, list, R.layout.aaa,
62                     new String[]{"logo","name","tel"}, new int[]{R.id.MyLogo,R.id.MyName,R.id.MyTel});
63         listview.setAdapter(adapter);
64
65
66
67     }
68     @Override
69     public void onItemClick(AdapterView<?> a, View b, int c, long d) {
70         // TODO Auto-generated method stub
71         Map<String,Object> map=list.get(c);  //响应拨号
72         Uri uri=Uri.parse("tel:"+map.get("tel").toString());
73         Intent i=new Intent(Intent.ACTION_DIAL,uri);
74         startActivity(i);
75     }
76
77
78 }
时间: 2024-11-04 16:36:51

SimpleAdapter + ListView 使用的相关文章

Android SimpleAdapter ListView (锁定手机,解锁手机的列表)

SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局. 构造方法: SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) 参数context:上下文,比如this.关联SimpleAdapter运行的视图上下文 参数data:Map列表,列表要显示的数据,这部分需要自己实现,类型要与上面的一致,每条项目要

android ListView SimpleAdapter 带图片

main.xml <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:

ListView 实现多选/单选

ListView自身带了单选.多选模式,可通过listview.setChoiceMode来设置: listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//开启多选模式 listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//开启单选模式 listview.setChoiceMode(ListView.CHOICE_MODE_NONE);//默认模式 listview.setChoiceM

安卓第六天笔记--ListView

安卓第六天笔记--ListView 1.AdapteView AdapteView 继承ViewGroup它的本质是容器 AdapterView派生了3个子类: AbsListView AbsSpinner AdapterViewAnimation 这3个类是抽象类 实际使用中采用的是它们的子类 2.Adpate结构 3.使用ArrayAdapter完成ListView显示 ListView使用的是ListAdapter类型的适配器 由于只显示文字,所有使用ArrayAdapter ArrayA

android表格效果--ListView隔行变色

import meetweb.net.util.SpecialAdapter; ..... private SpecialAdapter simpleAdapter = null; public void ShowData(){  RateList = rateService.findAll(); System.out.println(RateList); LVrate=(ListView) this.findViewById(R.id.lvrate); simpleAdapter = new 

Android ListView列表控件的简单使用

ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML.Class SimpleAdapter这两个文件, 较为麻烦. 如果我们只是想显示两.三行文字在上面, 却又不想那么麻烦呢? 那我们只要新建一个XML就够了.  这里以显示一个ListView项里三个TextView为例.  首先我们要创建一个XML文件, 这个XML文件是用来作为单个ListView项布局用的.  list_row.xml[java]<?xml version="1.

Android探秘:SimpleAdapter与Bitmap的结合

首先我们知道,在Android中,Adapter本身是一个接口,他 派生了很多子接口,这些子接口又被很多具体的类实现,来实现具体的显示效果.本次我们主要介绍的是SimpleAdapter实现类. SimpleAdapter类:实际上SimpleAdapter并不简单,而且他的功能非常强大,可以将List集合的多个对象封装成列表项. 这就是我们经常需要用到的功能.例如:我们在手机上显示东西的时候,每一个Item都会有 id.title.description.image之类的attribute,显

Android: ListView的使用(列表控件)

当程序中有大量的数据需要展示时,就需要用到 ListView 啦.ListView 允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕. 1.基本性质 (1)由于数组中的数据无法直接传递给ListView,我们需要借助适配器(Adapter)来完成.(2)Adapter有多种,需要根据ListView不同的使用情况选择不同的适配器.主要有两种ArrayAdapter / SimpleAdapter ListView的关键操作是制作一个符合要求的Adapt

13.Android-ListView使用、BaseAdapter/ArrayAdapter/SimpleAdapter适配器使用

1.ListView ListView 是 Android 系统为我们提供的一种列表显示的一种控件,使用它可以用来显示我们常见的列表形式.继承自抽象类 AdapterView.继承图如下所示: 以微信好友列表为例: 里面的每个好友就是由一个个 item 组成的,而每个item都存在Adapter适配器类中(负责数据处理),然后通过ListView显示出来. 2.ListView显示原理 ListView显示数据原理实际就是MVC设计模式,如下图所示: Model(模型) – 数据集合,用来存储数