这些Adapter真的很多,一般情况下都是写好一个,然后用的地方复制粘贴修改。想要记住,太困难。而且各种各样的adpater需要各种各样的参数来配置,真是很烦。
这里做一次整理方便以后复制,唉。
1.ArrayAdapter
这几个是最简单形式的构造:
ArrayAdapter(Contextcontext,
int textViewResourceId)
ArrayAdapter(Contextcontext,
int textViewResourceId, T[] objects)
ArrayAdapter(Contextcontext,
int textViewResourceId,List<T>
objects)
这几个方法,构造出来的,都必须是提供一个textview的layout,没有上级容器的布局id。简单的做法就是可以直接使用,
android.R.layout.simple_list_item_1这样的系统自带的布局文件。
ArrayAdapter(Contextcontext,
int resource, int textViewResourceId)
ArrayAdapter(Contextcontext,
int resource, int textViewResourceId, T[] objects)
ArrayAdapter(Contextcontext,
int resource, int textViewResourceId,List<T>
objects)
这几个构造方法,多了一个resource,这个实际上就是可以添加一个有容器的textview。比如在一个layout里面一定要有一个textview,然后可以再放些其他东西。当然这样就必须指定出textview的ID了。就是第三个参数。
所有这些方法中,包含范型T的自定义对象,最后显示到textview上的都是这个对象的tostring方法。可以在自定义类中重写它。
以上做法都是只能操作一个textview的做法,如果要能操作更多布局上的元素,就必须使用继承了。然后通过getview来自己返回view。
如:
public class SampleAdapter extends ArrayAdapter<SampleItem> {
public SampleAdapter(Context context) {
super(context, 0);
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.row, null);
}
ImageView icon = (ImageView) convertView.findViewById(R.id.row_icon);
icon.setImageResource(getItem(position).iconRes);
TextView title = (TextView) convertView.findViewById(R.id.row_title);
title.setText(getItem(position).tag);
return convertView;
}
}
使用的时候,直接添加对象进入adapter
SampleAdapter adapter = new SampleAdapter(getActivity());
for (int i = 0; i < 20; i++) {
adapter.add(new SampleItem("Sample List", android.R.drawable.ic_menu_search));
}
setListAdapter(adapter);
分享到:
相关推荐
ListView是Android中经常会使用的东西,绑定数据对于初学者来说,尤其是刚接触编程的人来说,往往会觉得很难理解,我上大二的时候学的java,但是基本上相当于没有学,什么都没写过,真正接触编程就是开始上手学...
对于android中的ListView刷新机制,大多数的程序员都是很熟悉的...这种模式下,View的显示内容或状态都记录在adapter里面的数据源中,listview的更新频率不频繁,它随着数据源的变化而更新。 但是软件开发网小编在做
2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View Item以及整个totalItemCount。当onScrollStateChanged状态改变时, 当滑动到底端,并滑动状态为 SCROLL_STATE_IDLE,显示底部加载View,开始实现...
3.重写Adapter的getView方法时,为每个checkbox添加事件响应并记录选择状态,通过获取获取状态记录值获取所有选择的checkbox值。 需要注意的是第三点,在重写getView方法时,不要判断convertView == null,如果判断...
对于DataBinding一些比较基础的使用,在这里就不在记录了,毕竟现在Google一下,出来很多的教程,而且,android developer官网中,也已经对其基本使用方法做了详细介绍,有英语基础的童鞋,还是去看比较官方的文章。...
simple-database4-cursor-adapter 通过 SimpleCursorAdapter 在 ListView 上显示 SQLite 记录
本demo利用listview和adapter实现了获取系统铃声,然后选择、保存、记录上次选择的功能,基本和微信选择消息提示音画面相同。
这是公司给我的UI培训项目 包含 常用UI组件的使用 在 EditText下弹出历史记录 活用ListView的Adapter 获取 ListView、GridView的Item内部的组件的内容 还有一些 其他的使用 总之 对AndroidUI开发 有很大的帮助
这个app很适合刚开始接触android,已经学习了很多android相关基础知识,需要将...里面的acvitity不多,但是相应的listview ,adapter都能得到练习,还有就是这个app的界面还算好看,可以用来学习布局文件的相应配置等。
天气信息界面包含了温度,日出,风力,降水概率,发布时间等信息,此外还有当天某个时间点的天气预测信息,以ListView组件呈现。两个按钮也是提供了重新选择城市以及更新天气信息的功能。 1. ...
自从Google推出了RecyclerView之后,便可以完全取代ListView,个人感觉唯一的美中不足是对于itemView的各种点击事件不够完美。观点只代表个人看法。应最近项目需求实现itemView的子项点击事件,便写篇博客记录一下,...
5.ListView控件使用和自定义Adapter 5.Activity 和Service通信(通过广播) 6.broadcastreceiver和Handler一起使用来跟新UI(广播接收者必须在5S内返回) 本程序编码遗漏所造成的缺点: 1.Ativity中没有关闭Service...
Android使用RecyclerView 1. 什么是RecyclerView RecyclerView 是 Android-support-v7-21 版本中新增的一个 Widgets,官方对于它的介绍则是:RecyclerView 是 ...Adapter — 包装数据集合并且为每个条目创建视图
private ListView lv; private MyAdapter mAdapter; private ArrayList<String> list; private Button bt_selectall; // private Button bt_cancel; // private Button bt_deselectall; private ...
private MyListAdapter adapter; //记录应用程序widget的ID private int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; @Override public void onCreate(Bundle savedInstanceState) { super....
(之前见过有人使用ListView实现4级、5级甚至更多级菜单的,是在Adapter的数据源里定义的结构,根据等级缩进左间距的倍数,链接地址找不到了,有兴趣的可以自己找找) 先上效果图: 简单介绍下重点,为了简便,把...
在项目开发过程中,常常需要对用户列表的信息进行删除的操作。Android中常用的删除操作方式有两种 ,一种就是类似微信的滑动出现删除按钮方式,还有一种是通过CheckBox进行选择,然后通过按钮进行删除的方式。...
MainActivity.this, R.layout.adapter_listview, cursor, new String[] { "title", "time" }, new int[] { R.id.text1, R.id.text2 }); // 设置适配器 lv.setAdapter(adapter); } /** * 选项...