当前位置: 首页 > news >正文

SimpleAdapter的简单使用

SimpleAdapter适配器的简单使用

1.SimpleAdapter

1.简介

  • 显示复杂的列表项,如图片

 

2.SimpleAdapter的构造函数

  • 上下文
  • 数据(保存map的list集合)
  • 子布局
  • key
  • 子布局中的id

注意:key和id是一一对应的关系

3.SimpleAdapter案例-用户简介

3.1子布局文件user_item.xml

<?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="match_parent">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <ImageView
            android:id="@+id/userimg"
            android:adjustViewBounds="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:maxHeight="150dp"
            android:maxWidth="60dp"
            android:src="@mipmap/girl"
            />
        <TextView
            android:layout_toRightOf="@id/userimg"
            android:id="@+id/username"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名"
            android:textSize="25dp"
            />
        <TextView
            android:layout_toRightOf="@id/userimg"
            android:layout_below="@id/username"
            android:id="@+id/userdesc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户简介"
            android:textSize="15dp"
            />
    </RelativeLayout>


</LinearLayout>

3.2布局文件

 <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        android:text="SimpleAdapter实现"
        android:gravity="center"
        android:textColor="@color/black"
        />

    <ListView
        android:id="@+id/slistvew"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawSelectorOnTop="true"
        />

3.3Java代码

  • 参数1:可以获取Adapter对象
  • 参数2:子布局View对象
  • 参数3:当前点击的是第几个子项
  • 参数4:和参数3一致
   //1.获取控件
        ListView slistvew=findViewById(R.id.slistvew);
        //2.创建集合
        String usernames[]={"张三","李四","王五"};
        int userimgs[]={R.mipmap.boy,R.mipmap.girl,R.mipmap.city};
        String userdescs[]={"帅气!!!","美丽动人!","轻巧!!!"};
        List<Map<String,Object>> list=new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            Map<String,Object> map=new HashMap<>();
            map.put("name",usernames[i]);
            map.put("userimg",userimgs[i]);
            map.put("userdesc",userdescs[i]);
            list.add(map);
         }
        //3.创建适配器
        SimpleAdapter adapter=new SimpleAdapter(this,list,R.layout.user_item,new String[]{"name","userimg","userdesc"},new int[]{R.id.username,R.id.userimg,R.id.userdesc});
        //4.绑定适配器
        slistvew.setAdapter(adapter);
    // 5.事件监听
    /*
     * 点击子项的时候会触发
     * 参数1:可以获取Adapter对象
     * 参数2:子布局View对象
     * 参数3:当前点击的是第几个子项
     *参数4:和参数3一致
     * */

    slistvew.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
            System.out.println(adapterView);
            System.out.println(view);
            System.out.println(i);
            System.out.println(l);
              TextView username=view.findViewById(R.id.username);
              TextView userdesc=view.findViewById(R.id.userdesc);
              ImageView userimg=view.findViewById(R.id.userimg);
              String user="用户名:"+username.getText()+",个性签名:"+userdesc.getText();
            Toast.makeText(ListViewSimpleAdapter.this, ""+user, Toast.LENGTH_SHORT).show();
          }
       });

3.4效果图

相关文章:

  • 视频制作网站都有哪些/网站seo哪家公司好
  • 网站如何做百度推广/企业网站建设的作用
  • 怎么制作学校网站/网络营销专业毕业论文
  • wordpress有商城吗/百度贴吧官网app下载
  • 网站开发弹窗制作/网站推广方法有哪些
  • 高密做网站的代理/网站建设明细报价表
  • 数据库实验3 完整性语言实验
  • 2. bean加载控制
  • RocketMQ-RocketMQ 系统架构以及消息的概念
  • 2个月备考通过系统架构设计师考试,把经验分享给孤军奋战的你
  • 二叉树10:二叉树的最小深度
  • 逻辑分析仪解析SPI数据
  • 二极管:烧IC与我相干!
  • 浏览器跨域-原因及解决方案
  • 微服务技术--认识微服务
  • 集成滤波器的5G大规模天线的S参数测试方法
  • 科班演员陶奕菱亮相海南电影节:人生没有白走的路,每一步都算数
  • 29. 如何通过 ABAP 代码给 SAP OData 元数据增添注解