- android
- android.accessibilityservice
- android.accounts
- android.content
- android.database.sqlite
- android.graphics
- android.location
- android.media
- android.net
- android.os
- android.text
- android.view
- android.view.inputmethod
- android.widget
- AbsListView
- AbsoluteLayout
- AbsSeekBar
- AbsSpinner
- AdapterView
- AnalogClock
- BaseAdapter
- BaseExpandableListAdapter
- Button
- CheckBox
- CheckedTextView
- Checkable
- Chronometer
- CompoundButton
- CursorAdapter
- CursorTreeAdapter
- DatePicker
- DialerFilter
- DigitalClock
- EditText
- Filter
- Filter.FilterListener
- Filter.FilterResults
- ExpandableListAdapter
- Filterable
- Gallery
- Gallery.LayoutParams
- GridView
- GridLayout
- RadioGroup
- ImageView
- HorizontalScrollView
- ImageButton
- ImageSwitcher
- FilterQueryProvider
- ListAdapter
- ListView
- MediaController
- QuickContactBadge
- RadioButton
- RatingBar
- RelativeLayout
- RemoteViews
- ResourceCursorAdapter
- ResourceCursorTreeAdapter
- Scroller
- ScrollView
- SearchView
- SeekBar
- SeekBar.OnSeekBarChangeListener
- SimpleAdapter
- SimpleCursorAdapter
- SimpleCursorTreeAdapter
- SimpleExpandableListAdapter
- SlidingDrawer
- Spinner
- SpinnerAdapter
- WrapperListAdapter
- TabHost
- TabHost.TabSpec
- TextView
- TimePicker
- Toast
- TableLayout
- TableRow
- TableRow.LayoutParams
- TabWidget
- TextSwitcher
- ToggleButton
- TwoLineListItem
- VideoView
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ZoomButtonsController
- ZoomButton
- ZoomControls
- dalvik.system
SimpleAdapter
SimpleAdapter
翻译时间:2010-11-03
版本:Android 2.2 r1
结构
继承关系
public interface SimpleAdapter extends Adapter
java.lang.Object
android.widget.BaseAdapter
android.widget.SimpleAdapter
类概述
这是一个简单的适配器,可以将静态数据映射到 XML 文件中定义好的视图。你可以指定数据支持的列表如 ArrayList 组成的 Map。在 ArrayList 中的每个条目对应 List 中的一行。Maps 包含每行数据。你可以指定一个定义了被用于显示行的视图 XML 文件,通过关键字映射到指定的视图。绑定数据到视图分两个阶段,首先,如果一个 SimpleAdapter.ViewBinder 是有效的,setViewValue(android.view.View, Object, String) 将被调用。如果返回值是真,绑定完成了。如果返回值为假,下面的视图将按以下顺序去处理:
l 一个实现了 Checkable 的视图(例如 CheckBox),期望绑定值是一个布尔类型。
l TextView 期望绑定值是一个字符串类型,通过调用 setViewText(TextView, String) 绑定。
l ImageView 期望绑定值是一个资源 id 或者一个字符串,通过调用 setViewImage(ImageView, int) 或 setViewImage(ImageView, String)。
如果没有一个合适的绑定发生将会抛出 IllegalStateException。
构造函数
public SimpleAdapter ( Context context, List<? extends Map< String , ?>> data, int resource, String[] from, int[] to)
构造函数
参数
context 关联 SimpleAdapter 运行着的视图的上下文。
data 一个 Map 的列表。在列表中的每个条目对应列表中的一行,应该包含所有在 from 中指定的条目
resource 一个定义列表项目的视图布局的资源唯一标识。布局文件将至少应包含哪些在 to 中定义了的名称。
from 一个将被添加到 Map 上关联每一个项目的列名称的列表
to 应该在参数 from 显示列的视图。这些应该全是 TextView。在列表中最初的 N 视图是从参数 from 中最初的 N 列获取的值。
公共方法
public int getCount ()
获取数据集中记录总行数
public View getDropDownView (int position, View convertView, ViewGroup parent)
获得一个在指定位置上显示下拉弹出数据的视图。
参数
position 想得到项目视图的索引
convertView 如果可能旧有的视图重新使用。注解:在使用之前应该检查这个视图不是空的并且类型合适。如果转换视图显示正确的数据是不可能的,这个方法能够创建一个新的视图
parent 视图最终将依附的父对象
返回值
一个对应指定位置的数据的视图。
public Filter getFilter ()
返回一个可以通过一种过滤模式来约束数据的过滤器。
这个方法通常被 Adapter 类实现。
返回值
一个用于约束数据的过滤器
public abstract Object getItem (int position)
获取数据集中指定位置上的数据项目
参数
position 在 adapter 中我们想得到项目的位置。
返回值
指定位置上的数据。
public abstract long getItemId (int position)
获取数据集中指定位置上的行 ID。
参数
position 在 adapter 中我们想得到的行 ID 的项目的位置。
返回值
指定位置上的数据。
public abstract View getView (int position, View convertView, ViewGroup parent)
获取一个显示数据集中指定位置数据段视图。可以手动创建视图,或者从 XML 设计文件填充。当视图从 XML 设计文件填充时,父视图(如 GridView,ListView 等)将接受默认的设计参数,除非使用 inflate(int, android.view.ViewGroup, boolean) 去指定一个根视图和防止依附于根视图。
参数
position 我们想要的在 adapter 中的数据项目的位置
convertView 如果可能旧有的视图重新使用。注解:在使用之前应该检查这个视图不是空的并且类型合适。如果转换视图显示正确的数据是不可能的,这个方法能够创建一个新的视图
parent 视图最终将依附的父对象。
返回值
一个在指定位置上相应的数据的视图。
public SimpleAdapter.ViewBinder getViewBinder ()
返回被用来绑定数据到视图的 SimpleAdapter.ViewBinder
。
返回值
一个 ViewBinder ,如果 binder 不存在则返回 null
参见
setViewBinder(android.widget.SimpleAdapter.ViewBinder)
public void setDropDownViewResource (int resource)
设置创建下拉视图的布局资源
参数
resource 定义下拉视图的布局资源
参见
getDropDownView(int, android.view.View, android.view.ViewGroup)
public void setViewBinder ( SimpleAdapter.ViewBinder viewBinder)
设置 binder 用于绑定数据到视图
参数
viewBinder 用于绑定数据到视图的 binder 可以设置为 null,可用于删除存在的 binder
参见
public void setViewImage ( ImageView v, int value)
调用 bindView 去给 ImageView 设置图像,但只有当 ViewBinder 不存在或者如果存在的 ViewBinder 无法处理绑定到一个 ImageView 时才调用。如果提供的数据是一个整形时,setViewImage(ImageView, String) 方法将被本方法替代
参数
v 接收图像的 ImageView
value 从数据集获取数据到值
参见
setViewImage(ImageView, String)
public void setViewImage ( ImageView v, String value)
调用 bindView 去给 ImageView 设置图像,但只有当 ViewBinder 不存在或者如果存在的 ViewBinder 无法处理绑定到一个 ImageView 时才调用。默认的,这个值被作为一个图像资源来对待。如果这个值作为一个图像的 Uri 来使用。如果提供的数据不是一个整形时,setViewImage(ImageView, int) 方法将被本方法替代
参数
v 接收图像的 ImageView
value 从数据集获取数据到值
参见
public void setViewText ( TextView v, String text)
调用 bindView 去给 TextView 设置文本,但只有当 ViewBinder 不存在或者如果存在的 ViewBinder 无法处理绑定到一个 TextView 时才调用
参数
v 将接收文本的 TextView
text 被设置到 TextView 的文本
补充
文章精选
android listview 组件之 ArrayAdapter,SimpleAdapter
Android 用 simpleAdapter 来直接显示 BMP 图片 (有 ViewBinder 用法)
示例代码
private ListView lv;
private List<Map<String,String>> data;
private SimpleAdapter sAdapter;
lv = (ListView)findViewById(R.id. listview );
data = new ArrayList<Map<String, Object>>();
for ( int i = 0; i < 10; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "APPLE");
map.put("content", "can eat");
map.put("check", true );
map.put("check1", "true");
map.put("image", R.drawable. icon );
data.add(map);
}
sAdapter = new SimpleAdapter(getApplicationContext(),
data,
R.layout. item ,
new String[]{"title","content","check","check1","image"},
new int []{R.id. title ,R.id. content,R.id.check,R.id.check1, R.id.image });
lv.setAdapter(sAdapter);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论