Android高级开发--SimpleAdapter类

1、ArrayAdapter显示效果显得有些单一,如果希望在一行中显示更多信息,比如文字加图片等等,就需要使用SimpleAdapter,SimpleAdapter类的主要功能是将List集合的数据转换为ListView可以支持的数据,从而定义出各种显示效果。 
伦理片 http://www.dotdy.com/ 
2、SimpleAdapter的层次关系如下: 
   java.lang.Object 
      android.widget.BaseAdapter 
         android.widget.SimpleAdapter 

3、SimpleAdapter是一个简单的适配器,可以指定一个用于显示行的布局文件,通过关键字映射到指定的布局文件,其中一个重要的构造函数为: 
   public SimpleAdapter(Context context,List<? extends Map<String,?>> data,int resource,String[] from,int[] to) 
   其中参数context表示关联SimpleAdapter的上下文;data表示一个Map的列表;resource表示一个定义列表项的视图布局的资源唯一标识;from表示一个将被添加到Map上关联每一个项目的列名称的列表;to表示应该在参数from显示列的视图。 

4、新建样式布局文件stu.xml 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
        android:id="@+id/stuId" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="24sp"/> 

    <TextView 
        android:id="@+id/stuName" 
        android:layout_weight="0.3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="24sp"/> 

    <TextView 
        android:id="@+id/stuPass" 
        android:layout_weight="0.4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="24sp"/> 

</LinearLayout> 

5、新建主布局文件 
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <TextView 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:textSize="32sp" 
        android:text="学生信息表" 
        android:gravity="center"/> 

    <TableLayout 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 

        <TableRow> 
            <TextView 
                android:text="学生编号" 
                android:layout_weight="0.3" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:textSize="24sp"/> 
            <TextView 
                android:text="学生姓名" 
                android:layout_weight="0.3" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:textSize="24sp"/> 
            <TextView 
                android:text="学生密码" 
                android:layout_weight="0.4" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content" 
                android:textSize="24sp"/> 
        </TableRow> 

        </TableLayout> 
    <ListView 
        android:id="@+id/listView1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"/> 

</LinearLayout> 

6、新建AdapterActivity.java 
package xiao.fuyan.testapp; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ListView; 
import android.widget.SimpleAdapter; 
import android.widget.Toast; 

import java.util.ArrayList; 
import java.util.HashMap; 

/** 
* Created by xiao on 2017/1/1. 
*/ 
public class AdapterActivity extends Activity { 
    private ListView listView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.adapter_xml); 

        listView = (ListView) findViewById(R.id.listView1); 

        ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>(); 
        HashMap<String, String> map1 = new HashMap<String, String>(); 
        HashMap<String, String> map2 = new HashMap<String, String>(); 
        HashMap<String, String> map3 = new HashMap<String, String>(); 

        map1.put("stuId", "001"); 
        map1.put("stuName", "whoami"); 
        map1.put("stuPass", "whoami"); 
        list.add(map1); 
        map2.put("stuId", "002"); 
        map2.put("stuName", "faded"); 
        map2.put("stuPass", "faded"); 
        list.add(map2); 
        map3.put("stuId", "003"); 
        map3.put("stuName", "cool"); 
        map3.put("stuPass", "cool"); 
        list.add(map3); 

        SimpleAdapter simpleAdapter = new SimpleAdapter(this, list, R.layout.stu, 
                new String[]{"stuId", "stuName", "stuPass"}, new int[]{R.id.stuId, 
                R.id.stuName, R.id.stuPass}); 

        //为ListView添加适配器 
        listView.setAdapter(simpleAdapter); 

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
            @Override 
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
                Toast.makeText(AdapterActivity.this, parent.getItemAtPosition(position).toString(), 
                        Toast.LENGTH_SHORT).show(); 
            } 
        }); 
    } 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值