如果开发者需要实现更复杂的列表项,则可以考虑使用 SimpleAdapter。 一、使用SimpleAdapter 这里需要注意的是,不要被SimpleAdapter的名字迷惑欺骗了,SimpleAdapter的功能不仅不简单,还十分强大,列表组件的大部分使用都是通过SimpleAdapter 在使用SimpleAdapter之前,先来一起学习SimpleAdapter的构造方法,其构造方法如下: SimpleAdapter(Context context, List<? >> data, int resource, String[] from, int[] to) 从SimpleAdapter的构造方法可以看到,一共需要5个参数,这也是很多开发者觉得使用SimpleAdapter SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.simpleadapter_item
simpleAdapter的简单使用 项目的结构图如下所示: image activity_main.xml: <?xml version="1.0" encoding="utf-8"? "></dbname> <version value="1" /> <list> <mapping class="com.example.administrator.<em>simpleadapter</em>.Person –上线时注意环境是否修改–>--> </litepal> MainActivity: package com.example.administrator.<em>simpleadapter</em> android.os.Bundle; import android.view.View; import android.widget.ListView; import android.widget.<em>SimpleAdapter</em> adapter = new <em>SimpleAdapter</em>( this, data, R.layout.item
首先,如果 SimpleAdapter.ViewBinder 是有效的,则调用 setViewValue(android.view.View, Object, String) 方法. android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter "but", "Button last"); n.put("image", R.drawable.ic_launcher); list.add(n); SimpleAdapter adapter = new SimpleAdapter( this,//SimpleAdapter关联的View的运行环境 list, //一个Map组成的List 一行视图item.xml代码 说明:item.xml中button中有这样一行代码, android:focusable=”false” 这样的好处是button不会抢占一行的点击区域 显示效果如下: SimpleAdapter
SimpleAdapter作为一个数据集,主要向ListView、GridView容器填充数据,总结了几种填充方式,原理很简单,直接看代码和效果图 1、 ListView单行显示(simple_list_item adapter = new SimpleAdapter(this, mList, android.R.layout.simple_list_item_1, / adapter = new SimpleAdapter(this, mList, android.R.layout.simple_list_item_2, / adapter = new SimpleAdapter(this, mList, R.layout.listitem, // 自定义布局格式 adapter = new SimpleAdapter(this, mList, R.layout.griditem, // 自定义布局格式 new String
image.png 目录 SimpltAdapter(简单适配器) 其实这个适配器并不简单,功能很强大. simpleAdapter中五个参数的: 参数 描述 Context context 上下文对象 下面进行代码演示.O(∩_∩)O 实战演示 新添加一个资源文件list_array.xml,主要作用是为simpleAdapter添加显示规则: <? android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this, listTest, R.layout.list_array, }, new int[] {R.id.header, R.id.name}); // 为listview设置适配器 list1.setAdapter(simpleAdapter
当我们的列表包含图片和文字信息时,ArrayAdapter就无法实现了,使用SimpleAdapter,activity中findViewById()获取到ListView对象,调用ListView对象的 setAdapter()方法,参数中传入SimpleAdapter对象。 每一条数据是一个Map集合,所有的数据是一个List集合 new SimpleAdapter(context,data,resource,from,to) context上下文,data数据集合List ArrayList 再new出来HashMap,调用HashMap对象的put()方法放入键值对,图标的放入资源id R.drawable.xxxx,调用ArrayList对象的add()方法加入Map对象 SimpleAdapter android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleAdapter
android.view.KeyEvent; 10 import android.view.View; 11 import android.widget.GridView; 12 import android.widget.SimpleAdapter R.drawable.menu_exit); 85 map.put("itemText", "退出"); 86 data.add(map); 87 88 // 设置SimpleAdapter data和布局文件联系起来 93 // 4 放入map中的key值 94 // 5 按照map中的key值,把相应的数据传递过来,最后展现出来 95 SimpleAdapter adapter = new SimpleAdapter(this, data, 96 R.layout.item_menu, new String[] { "itemImage
既然要使用ArrayAdapter,那我们先看看系统中所以的Adapter关系: 在实际中使用频率比较高的有:SimpleAdapter, ArrayAdapter , BaseAdapter BaseAdapter: 是一个抽象类,实现它要实现比较多的方法,但是灵活的高 ArrayAdapter:支持了泛型操作,比较简单,一般只能显示同类型的数据 SimpleAdapter SimpleAdapter学习: 先贴出我们上面的布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android :textSize="15sp" android:text="10086" /> </LinearLayout> </LinearLayout> 使用SimpleAdapter "); map4.put("phone", "88888888888888888888"); data.add(map4); listView.setAdapter(new SimpleAdapter
其中最经常与ListView进行配合使用的有ArrayAdapter、 CursorAdapter及SimpleAdapter等。 从名称可以看出ArrayAdapter使用的是一个ArrayAdapter做为数据源,SimpleCursorAdapter使用的是一个Cursor使用数据源,都比较容易理解,那么如何使用SimpleAdapter SimpleAdapter.SimpleAdapter Public Constructors public SimpleAdapter (Context context, List 那么现在我们看下代码中是怎么做的: SimpleAdapter adapter = new SimpleAdapter(this, lists, R.layout.list_view_row 主要使用的方法上就是SimpleAdapter
android.widget.Gallery; 20 import android.widget.ImageView; 21 import android.widget.ListView; 22 import android.widget.SimpleAdapter //参数三resource:列表项的布局文件 //参数四from:Map的键名 //参数五to:绑定数据视图中的id,与from成对应关系 52 SimpleAdapter adapter = new SimpleAdapter(this, listItems, R.layout.items, new String[]{"title","image"},new int[]
中需要一个数据源,用来存储数据的,在显示图片时我们要用HashMap<>存储一个Bitmap;但仅存取了Bitmap时在ListView中是无法显示图片的,我们需要对SimpleAdapter进行处理 如下是对SimpleAdaptr处理的主要代码 simpleAdapter.setViewBinder(new ViewBinder() { @Override ; import android.widget.SimpleAdapter.ViewBinder; public class MainActivity extends Activity { SimpleAdapter simpleAdapter = new SimpleAdapter(this, this.getItem(), R.layout.listview_item 到ListView中 listView.setAdapter(simpleAdapter); 以上就是一般的对于网络图片绑定ListView处理方式,好一点的处理方式是定制扩展一个SimpleAdapter
首先,使用listview要明确三个要素: 1.数据 2.适配器adapter 3.listview 然后,根据适配器的种类,我们可以把listview分成三种,有ArrayAdapter,SimpleAdapter android.R.layout.simple_expandable_list_item_1, buttonArr); buttonListView.setAdapter(arrayAdapter); image.png 2.simpleAdapter , getResources().getString(R.string.choose_note_tag)); filterItems.add(filterItem); …… (2)创建simpleAdapter 实例,为其制定数据和每个item的样式,这一步最为重要,代码如下: SimpleAdapter simpleAdapter = new SimpleAdapter(this, filterItems, textAppearanceLarge" /> </LinearLayout> (3)最后,肯定是为Listview绑定adapter并显示,代码如下: filterListView.setAdapter(simpleAdapter
暂且先介绍ArrayAdapter和SimpleAdapter,后面有时间再来写自定义Adapter。 SimpleAdapter 由于ArrayAdapter只能显示文字,功能实在有限,如果需要多填充一些内容的话指望不上,这时候可以使用SimpleAdapter。 SimpleAdapter相比ArrayAdapter强大很多,创建SimpleAdapter需要5个参数,第一个参数依然是Context,就不多说了,下面介绍余下的4个参数: 第2个参数:该参数应该是一个 simpleAdapter = new SimpleAdapter(this, data, R.layout.item, new String[] {"image", " ListView数据更新 直观地想,要实现数据更新,只要更新List,重新创建一个SimpleAdapter就可以了,这样会比较麻烦,SimpleAdapter有一个notifyDataSetChanged
SimpleAdapter有最好的扩充性,可以自定义出各种效果。 ---- ArrayAdapter ? 列表的显示需要三个元素: a.ListVeiw 用来展示列表的View。 simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。 使用simpleAdapter的数据用一般都是HashMap构成的List,list的每一节对应ListView的每一行。HashMap的每个键值数据映射到布局文件中对应id的组件上。 下面做适配,new一个SimpleAdapter参数一次是:this,布局文件(vlist.xml),HashMap的 title 和 info,img。 simpleAdapter = new SimpleAdapter(getActivity(), getData(), R.layout.list_item, new String[] {"title
ListView使用的基本步骤 得到ListView类型的对象mListView 生成适配器对象mListViewAdapter,并给该适配器对象设置数据 可选的适配器: 使用SimpleAdapter 调用ListView类型对象的.setAdapter方法,把mListViewAdapter对象设置为mListView的适配器 调用mListView的监听方法设置各种监听事件:.setOn… SimpleAdapter android.widget.SimpleAdapter.SimpleAdapter(Context context, List<? extends Map<String, ?
",imageIds[i]); listItems.add(listItem); } //创建一个Simple Adapter SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.photo, new String[]{"image"}, new int[]{R.id.image1}); stackView.setAdapter(simpleAdapter public void next(View source){ //显示下一个组件 stackView.showNext(); } } 注意检查一下listItems和simpleAdapter
(二)、 SimpleAdapter 实现多行文本ListView: 1、使用步骤。 定义一个集合来存放ListView中item的内容; 定义一个item的布局文件; 创建一个 SimpleAdapter 对象; 通过ListView的setAdapter()方法绑定 SimpleAdapter SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.item_listview_main, new String[] { "username 定义一个集合来存放ListView中item的内容; 定义一个item的布局文件; 创建一个 SimpleAdapter 对象; 通过ListView的setAdapter()方法绑定 SimpleAdapter */ SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.item_listview_main, new String[] {
ØSimpleAdapter:并不简单、功能强大的Adapter。可用于将List集合的多个对象包装成多个列表项。 ØBaseAdapter通常用于被扩展。 概述 SimpleAdapter可以用于显示复杂数据 uSimpleAdapter可以在列表的一项中提供和显示多个数据 uSimpleAdapter需要自定义数据结构和显示视图布局 uSimpleAdapter的构造需要5个参数 Øcontext:为使用SimpleAdapter的上下文 Ødata:为用于显示的具体数据 l这是一个map对象的list,list中的每一项是一个 Ø布局文件:R.layout.simple_item Ø该文件包含一个头像ImageView,名字TextView,简介TextView 显示复杂列表,然后在ListView中使用SimpleAdapter SimpleAdapter simpleAdapter = new SimpleAdapter(this, listItems, R.layout.simple_item, new String
比如: 1 SimpleAdapter saItem = new SimpleAdapter(this,meumList,R.layout.item, new String[]{"ItemImage" ,"ItemText"},new int[]R.id.ItemImage,R.id.ItemText}); 而在fragment中就要: 1 SimpleAdapter saItem = new SimpleAdapter(getActivity(), meumList, R.layout.item, new tring[]"ItemImage","ItemText"},new int
configSimpleAdapter() { 3 //在这里配置 SimpleAdapter,再返回,默认返回null 4 return null; 5 9 import android.widget.ArrayAdapter; 10 import android.widget.ListView; 11 import android.widget.SimpleAdapter id);//调用 item接口点击 141 } 142 143 public interface configAdapterForListView{ 144 //配置 SimpleAdapter 数据适配器接口 145 public SimpleAdapter configSimpleAdapter(); 146 // 配置 ArrayAdapter 数据适配器接口 7 import android.widget.ArrayAdapter; 8 import android.widget.ListView; 9 import android.widget.SimpleAdapter