SimpleAdapter 使用

Android使用SimpleAdapter SimpleAdapter的使用步骤如下: 声明ListView,并进行初始化操作 准备数据集,一般用list来实现,当然也可以使用数组 为listview适配simpleadapter 如下代码: 声明ListViewprivate ListView mListView;准备数据集static List<Map<String,Object>> data=null; static{ 阅读详情

SimpleAdapter 顾名思义,简单的数据适配器,被用来做简单的数据展示,它可以将静态数据映射到XML定义好的视图上。先看构造函数:

public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
第一个参数是上下文,第二个参数是由Map组成的数据集合,第三个参数是布局文件的资源id,第四个参数是数据源的key值集合,对应第二个参数里面map的键名称,第五个参数是要映射的视图资源id。

看完构造函数就大概知道SimpleAdapter的使用场景和使用方法了。接下来通过源码看一下视图绑定过程.
final Map dataSet = mData.get(position);// 找到对应的position位置的map数据

//将外部实现的绑定传入,SimpleAdapter能够实现 checkBox,CheckedTextView,TextView ,ImageView
final ViewBinder binder = mViewBinder;
final String[] from = mFrom;
final int[] to = mTo;
final int count = to.length;
//循环找控件,然后取到值赋给相应控件
for (int i = 0; i < count; i++) {
 final View v = view.findViewById(to[i]);
  if (v != null) {
  final Object data = dataSet.get(from[i]);
  String text = data == null ? "" : data.toString();
  if (text == null) {
text = "";
  }
   boolean bound = false;
   if (binder != null) {
       bound = binder.setViewValue(v, data, text);
   }
  //如果满足if (!bound)那么bound就还是false,说明是普通数据
  if (!bound) {  //查看v是不是Checkable的实例化类型,满足的情况可能是CheckBox,CheckedTextView
 if (v instanceof Checkable) {  //如果数据类型是boolean,那么就是CheckBox
 if (data instanceof Boolean) {  ((Checkable) v).setChecked((Boolean) data);  //如果不是CheckBox,那么判断是不是继承                                TextView的CheckedTextView,是的话赋值,不是就抛出异常
        } else if (v instanceof TextView) {
   setViewText((TextView) v, text);
   } else {
          throw new IllegalStateException( );
   }
   //如果不是Checkable的实例化类型,判断是不是TextView的实例化类型
 } else if (v instanceof TextView) {
    setViewText((TextView) v, text){ //都不是以上情况,就判断一下是不是ImageView的实例化类型
 } else if (v instanceof ImageView) { //这里只满足数据类型为int也就是R.drawable.ic,和String类型的url,如果想实现直接用drawbale,就要实现ViewBinder
 if (data instanceof Integer) {
     setViewImage((ImageView) v, (Integer) data);
 } else {
     setViewImage((ImageView) v, text);
  }
 } 

}



Simpleadapter的简单用法 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.listview); SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.list_item, new String[] { "img", "title", "info" }, new int[] { R.id.img, R.id.title, R.id.info }); lv.setAdapter(adapter); } private List<Map> getData() { List<Map> list = new ArrayList<Map>(); Map map = new HashMap(); map.put("img", R.drawable.aa); map.put("title", "111"); map.put("info", "数字111"); list.add(map); map = new HashMap(); map.put("img", R.drawable.ic_launcher); map.put("title", "aaa"); map.put("info", "字母aaa"); list.add(map); map = new HashMap(); map.put("img", R.drawable.aa); map.put("title", "222"); map.put("info", "数字222"); list.add(map); map = new HashMap(); map.put("img", R.drawable.ic_launcher); map.put("title", "bbb"); map.put("info", "字母bbb"); list.add(map); map = new HashMap(); map.put("img", R.drawable.aa); map.put("title", "333"); map.put("info", "数字333"); list.add(map); map = new HashMap(); map.put("img", R.drawable.ic_launcher); map.put("title", "ccc"); map.put("info", "字母ccc"); list.add(map); return list; } 立即下载

相关推荐

从服装打版到激光切割:二维异形件排版算法在实际生产中的避坑指南

本文深入探讨二维异形件排版算法在服装、家具等行业的实际应用,对比NFP和重叠移除两种核心策略的优缺点,并提供算法落地的五大实战陷阱与解决方案。通过案例分析和技术要点解析,帮助生产管理者提升材料利用率5%-15%,优化生产效率。

weixin_28717431的博客 416

安卓入门--SimpleAdapter详解

【代码】安卓入门--SimpleAdapter详解。

m0_62089210的博客 1545

Unity安卓打包实战:SDK与JDK配置全攻略

本文详细介绍了Unity安卓打包过程中SDK与JDK的配置方法,包括工具下载、安装步骤、环境变量设置及常见错误排查。通过实战指南帮助开发者快速完成Unity安卓打包环境搭建,提升开发效率。

weixin_30338481的博客 415

Android中SimpleAdapter的使用

1.简单介绍 SimpleAdapter配上Spinner,可以在Spinner的列表项中展示多个控件(如文本和图片的组合),显示效果如下图。 下面是初始化SimpleAdapter的一个例子。在SimpleAdapter的构造函数中:第一个参数是设备上下文;第二个参数是存放Map的容器,Map里面存放的是原材料;第三个参数是选中时的显示;第四个参数是Map中的key;第五个参数是原材料对应存放...

‎‎‎‎‎不想吃泡面 1091

robomimic实验复现全流程:从数据集下载到训练视频生成

本文详细介绍了机器人模仿学习项目RoboMimic的完整实验复现流程。内容涵盖从使用Conda创建Python 3.8隔离环境、安装RoboSuite仿真器和MuJoCo物理引擎,到下载并探索数据集、配置与启动模型训练,最后进行模型评估和生成策略执行视频。该指南旨在帮助研究者和开发者高效搭建实战环境,规避常见问题,快速验证算法或应用于实际场景。

weixin_29089057的博客 517

XILINX偶然加载不成功的问题原因及解决方法

本文为明德扬原创文章,转载请注明出处! 一、项目背景 明德扬(MDY)在2021年承担了多个基于XILINX芯片的研发项目,包括VPX网络透明传输项目(芯片为XC7K325T-2FBG900)、某高端测试仪项目(芯片为XCKU060-FFVA1156)、某网闸设备项目(芯片为XC7Z030-FBG676)等,另外,明德扬自研了基于XC7K325T-2FBG900和基于XC7K410T-2FBG900芯片的核心板,在XILINX研发领域拥有丰富的经验。即使拥有丰富经验和积累,每个新项目我们均...

6034

SimpleAdapter使用简单介绍

SimpleAdapter 的简单介绍 SimpleAdapter是AdaterView的控件设置adapter用 SimpleAdapter是Adapter类的子类,可用于list集合的多个对象包装成多个列表项   SimpleAdapter adapter=new SimpleAdapter(Context,list> datas,int itemResourse,new String

qq_2790289459的博客 849

Aloudata 荣登“数智技术系列榜单”和“数据智能服务商 TOP30”

持续助力各行业数智化先进企业突破数据管理技术瓶颈,以更加敏捷、精准和可靠的数据交付驱动企业业务创新与经营提效

Aloudata的博客 666

SimpleAdapter的学习理解

学习SimpleAdapter1. SimpleAdapter简介SimpleAdapter(父类:BaseAdapter),跟名字一样,一个简单的适配器,既为简单,就只是被设计来做简单的应用的,比如静态数据的绑定。2. 如何使用 要使用一个他人写好的东西,首先第一步就是需要了解那个工具的构造,和使用方法 SImpleAdapter一共需要五个参数 SimpleAdapter(参数1,参

wr166的博客 647

泰山派rk3566 audio音频基础介绍

本文介绍了嵌入式系统中音频处理的基础知识,重点围绕RK3566平台的音频子系统展开。文章首先解释了音频信号从模拟到数字的转换过程,包括采样率、位深和声道等核心概念。随后详细分析了嵌入式音频开发中的关键接口:I2C用于控制音频编解码器,I2S作为专用音频数据传输总线,以及PCM作为原始音频格式和ALSA设备抽象的双重含义。通过对这些基础概念和接口的解析,为在RK3566平台上进行音频驱动开发和应用调试提供了理论基础。

qq_37077309的博客 294

赛豆科技 AIVA 汽车智能体架构演进面试题与答案

摘要 赛豆科技AIVA汽车智能体架构从座舱AI演进到整车智能体,最终实现自进化的超级智能体。其核心是"先有AI再有车"的理念,将AI作为产品主轴而非附加功能。架构设计采用端-边-云协同,确保低延迟响应;整车智能体通过Planner、Tool Registry等关键组件实现自主决策;自进化机制结合车端个性化学习和云端群体学习,并设置多重安全验证。多域协作采用分层架构,关键安全功能仍由确定性逻辑控制。该架构实现了从被动响应到主动服务的范式转变,使车辆能够持续进化。

AI天才研究院 119

SimpleAdapter 详解

首先说明SimpleAdapter 的各个参数 SimpleAdapter(this,list,R.layout.item,new String[]{"image","name","desc"},new int[]{R.id.photo,R.id.name,R.id.desc});可以看出有5个参数: 第一个参数:Context; 第二个参数:列表的数据源; 第三个参数:列表项的界面布局I

似码非码的博客 1080

CGAL 网格等高线计算

CGAL 网格等高线计算

dayuhaitang1的博客 449

Android——SimpleAdapter的简单使用

Android——SimpleAdapter的使用 1. Adapter (图源自网络) 在Android中,Adapter(适配器)是数据与ui之间的桥梁,它把后台数据与前端ui连接到一起,是一个展示数据的载体。Adapter有很多的接口、抽象类、子类可以使用,以下是常用的几个适配器。 BaseAdapter:是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性; ArrayAdapter:支持泛型操作,最为简单,只能展示一行字。 SimpleAdapter:有最好的扩充性,可以自定义出各种

fjnu_se的博客 759

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

在ListView中使用SimpleAdapter

在ListView中使用SimpleAdapter分为三步:创建SimpleAdapter实例,设置布局并初始化数据源, 绑定适配器。 创建SimpleAdapter 首先在MainActivity中申明SimpleAdater,然后再onCreate()方法中创建它的实例。构造函数如下: SimpleAdapter(Context context, List> data, int

jyDave的博客 1176

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Android 基础】SimpleAdapter的简单使用

首先贴上相关API 翻译如下: context      当前视图所关联的且正在使用的适配器所处的上下文对象 data            现在想要使用该适配器做出下面的效果: 废话不多说,直接贴出代码:  setContentView(R.layout.activity_main);所加载的布局文件: <ListView android:i

Veyron_wu 8948

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ListView 中的 SimpleAdapter的使用

现在大家基本都在用RecyclerView,但是如果布局不是很复杂的话,可以使用api提供的,减少代码量 唯一缺点就是没办法加载网络图片,但是本地图片还是可以用的。 activity_simple_adapter <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.a...

weixin_46444429的博客 323

SimpleAdapter的使用介绍

SimpleAdapter,跟名字一样,一个简单的适配器,既为简单,就只是被设计来做简单的应用的,比如静态数据的绑定,不过仍然有自定义的空间,比如说在每一个ListItem中加一个按钮并添加响应事件.首先还是先看一下SimpleAdapter的定义吧,直接翻译下SDK doc 吧: 这是一个简单的适配器,可以将静态数据映射到XML文件中定义好的视图。你可以指定由Map组成的List(比如Arra

AreaMelody的博客 4282

SimpleAdapter 和 SimpleCursorAdapter的使用

<br /> <br /> <br /> <br />SimpleAdapter<br /> ArrayList<HashMap<String,Object>> arr = new ArrayList<HashMap<String,Object>>(); HashMap<String,Object> map = new HashMap<String,Object>(); map.put("image", R.drawable.icon); map.put("text",

super005的专栏 6848

ListView之SimpleAdapter的使用

SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 >, int, java.lang.String[], int[])" style="color:rgb(26,139,200); text-decoration:">SimpleAdapter(Context context, ListMapString, ?>> data, int resource

叶子一哥 7万+

SimpleAdapter使用案例

页面布局     android :layout_width= "match_parent"     android :layout_height= "match_parent"     android :orientation= "horizontal">             android :id= "@+id/img"         android :

EasonVincent的博客 1106

Android ListView使用SimpleAdapter

ArrayAdapter只能实现简单的ListView的数据绑定,用SimpleAdapter能实现复杂的数据绑定,使用的步骤。 (1)定义一个HashMap构成的列表,将ListView中item的内容以键值对的方式存放在里面。 (2)通过实现SimpleAdapter的构造函数来创建一个SimpleAdapter的对象。 (3)通过ListView的setAdapter()方法绑定Sim

pnjlc的专栏 775

安卓开发之SimpleAdapter的使用

package com.lidaochen.test; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter; import java....

weixin_30563917的博客 247

SimpleAdapter初级使用

public class MainActivity extends Activity { private String[] name = { "张龙", "赵虎", "王朝", "马汉" }; private String[] desc = { "保镖一号", "保镖二号", "保镖三号", "保镖四号" }; private int[] images = {R.dr

jinghongtianxia的博客 306

SimpleAdapter的使用

android中为我们提供了3种adapter来为各种各样的list来适配数据,其ArrayAdapter 对只有纯字符列表的list适应,如果遇到list的每个item都有添加几项的情况,如下图,有头像,名字,作品,人气等,那么ArrayAdapter就不是适用了,就可以使用SimpleAdapter 了,而baseAdapter 用起来对初学者有点难,建议使用simpleAdapter。首先来

七号公园的博客 1326

Android SimpleAdapter使用示例

Android SimpleAdapter使用示例

upward 858
上一篇: ArrayAdapter使用
下一篇: Android中layout_gravity和gravity
yesjava
博客等级 码龄19年 69粉丝 153原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值