`
modabobo
  • 浏览: 508189 次
文章分类
社区版块
存档分类
最新评论

详细记录listview的各种Adapter

 
阅读更多

这些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的Adapter使用 之 初学ArrayAdapter String

    ListView是Android中经常会使用的东西,绑定数据对于初学者来说,尤其是刚接触编程的人来说,往往会觉得很难理解,我上大二的时候学的java,但是基本上相当于没有学,什么都没写过,真正接触编程就是开始上手学...

    Android开发之ListView实现Item局部刷新

    对于android中的ListView刷新机制,大多数的程序员都是很熟悉的...这种模式下,View的显示内容或状态都记录在adapter里面的数据源中,listview的更新频率不频繁,它随着数据源的变化而更新。  但是软件开发网小编在做

    Android 自定义ListView实现底部分页刷新与顶部下拉刷新

    2.响应OnScrollListener监听事件,onScroll方法记录最后可见的View Item以及整个totalItemCount。当onScrollStateChanged状态改变时, 当滑动到底端,并滑动状态为 SCROLL_STATE_IDLE,显示底部加载View,开始实现...

    android 的listview 内部item的布局包含checkbox控件

    3.重写Adapter的getView方法时,为每个checkbox添加事件响应并记录选择状态,通过获取获取状态记录值获取所有选择的checkbox值。 需要注意的是第三点,在重写getView方法时,不要判断convertView == null,如果判断...

    Android 开发之dataBinding与ListView及事件

    对于DataBinding一些比较基础的使用,在这里就不在记录了,毕竟现在Google一下,出来很多的教程,而且,android developer官网中,也已经对其基本使用方法做了详细介绍,有英语基础的童鞋,还是去看比较官方的文章。...

    simple-database4-cursor-adapter:通过 SimpleCursorAdapter 在 ListView 上显示 SQLite 记录

    simple-database4-cursor-adapter 通过 SimpleCursorAdapter 在 ListView 上显示 SQLite 记录

    Android获取系统铃声并选择、保存demo

    本demo利用listview和adapter实现了获取系统铃声,然后选择、保存、记录上次选择的功能,基本和微信选择消息提示音画面相同。

    Android UI

    这是公司给我的UI培训项目 包含 常用UI组件的使用 在 EditText下弹出历史记录 活用ListView的Adapter 获取 ListView、GridView的Item内部的组件的内容 还有一些 其他的使用 总之 对AndroidUI开发 有很大的帮助

    android平台下的记事本功能

    这个app很适合刚开始接触android,已经学习了很多android相关基础知识,需要将...里面的acvitity不多,但是相应的listview ,adapter都能得到练习,还有就是这个app的界面还算好看,可以用来学习布局文件的相应配置等。

    Android适合新手学习的天气预报项目代码.zip

    天气信息界面包含了温度,日出,风力,降水概率,发布时间等信息,此外还有当天某个时间点的天气预测信息,以ListView组件呈现。两个按钮也是提供了重新选择城市以及更新天气信息的功能。 1. ...

    Android中解决RecyclerView各种点击事件的方法

    自从Google推出了RecyclerView之后,便可以完全取代ListView,个人感觉唯一的美中不足是对于itemView的各种点击事件不够完美。观点只代表个人看法。应最近项目需求实现itemView的子项点击事件,便写篇博客记录一下,...

    Android 播放器

    5.ListView控件使用和自定义Adapter 5.Activity 和Service通信(通过广播) 6.broadcastreceiver和Handler一起使用来跟新UI(广播接收者必须在5S内返回) 本程序编码遗漏所造成的缺点: 1.Ativity中没有关闭Service...

    Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新

    Android使用RecyclerView 1. 什么是RecyclerView RecyclerView 是 Android-support-v7-21 版本中新增的一个 Widgets,官方对于它的介绍则是:RecyclerView 是 ...Adapter — 包装数据集合并且为每个条目创建视图

    SelectAll全选

    private ListView lv; private MyAdapter mAdapter; private ArrayList&lt;String&gt; list; private Button bt_selectall; // private Button bt_cancel; // private Button bt_deselectall; private ...

    Android天气预报实验报告

    private MyListAdapter adapter; //记录应用程序widget的ID private int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; @Override public void onCreate(Bundle savedInstanceState) { super....

    Android ExpandableListView双层嵌套实现三级树形菜单

    (之前见过有人使用ListView实现4级、5级甚至更多级菜单的,是在Adapter的数据源里定义的结构,根据等级缩进左间距的倍数,链接地址找不到了,有兴趣的可以自己找找) 先上效果图: 简单介绍下重点,为了简便,把...

    Android 实现用户列表信息滑动删除功能和选择删除功能

    在项目开发过程中,常常需要对用户列表的信息进行删除的操作。Android中常用的删除操作方式有两种 ,一种就是类似微信的滑动出现删除按钮方式,还有一种是通过CheckBox进行选择,然后通过按钮进行删除的方式。...

    安卓记事本

    MainActivity.this, R.layout.adapter_listview, cursor, new String[] { "title", "time" }, new int[] { R.id.text1, R.id.text2 }); // 设置适配器 lv.setAdapter(adapter); } /** * 选项...

Global site tag (gtag.js) - Google Analytics