ListView 的三种适配器 BaseAdapter ArrayAdapter SimpleAdapter(1)
2016-03-17 09:59
477 查看
技术文档开篇,就从ListView写起,不知道算不算专业,在工作中ListView是我写过最多的控件,ListView几乎是Android中万能的容器,处处都能看到,再加上各种自定义的ListView,使得它几乎无所不能,有固定首行首列左右上下滑动的,有长按删除的,有类QQ聊天列表左划出现删除,取消的,都在项目里用过,虽然不是自己写的,但后续会慢慢道来,加深印象。
Android 加载ListView的三种Adapter…ArrayAdapter,SimpleAdapter,BaseAdapter刚开始写listview时只会写BaseAdapter,因为老师说过BaseAdapter 是万能的,在开发项目中才发现ArrayAdapter和SimpleAdapter才是用的最多的,因为好多列表所加载的东西,都很普通,前两个基本够用了,就算有些涉及到排序问题,或单双行显示不同等需要获取item下标position的,可以重写这两个方法也是非常方便的。
ArrayAdapter:
package com.example.arrayadapterdemo;
import java.util.ArrayList;
import java.util.List;
import com.example.arrayadapterdemo.R.id;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lvArrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
lvArrayAdapter = (ListView) findViewById(R.id.lv_array_adapter);
lvArrayAdapter.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, getData()));
}
private List getData() {
List data = new ArrayList();
data.add(“start :”);
data.add(“this is item 1 !”);
data.add(“this is item 2 !”);
data.add(“this is item 3 !”);
data.add(“this is item 4 !”);
data.add(“this is item 5 !”);
data.add(“this is item 6 !”);
data.add(“this is item 7 !”);
data.add(“this is item 8 !”);
data.add(“this is item 9 !”);
data.add(“this is item 10 !”);
data.add(“this is item 11 !”);
data.add(“end “);
}
源码下载
Android 加载ListView的三种Adapter…ArrayAdapter,SimpleAdapter,BaseAdapter刚开始写listview时只会写BaseAdapter,因为老师说过BaseAdapter 是万能的,在开发项目中才发现ArrayAdapter和SimpleAdapter才是用的最多的,因为好多列表所加载的东西,都很普通,前两个基本够用了,就算有些涉及到排序问题,或单双行显示不同等需要获取item下标position的,可以重写这两个方法也是非常方便的。
ArrayAdapter:
package com.example.arrayadapterdemo;
import java.util.ArrayList;
import java.util.List;
import com.example.arrayadapterdemo.R.id;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lvArrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
lvArrayAdapter = (ListView) findViewById(R.id.lv_array_adapter);
lvArrayAdapter.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, getData()));
}
private List getData() {
List data = new ArrayList();
data.add(“start :”);
data.add(“this is item 1 !”);
data.add(“this is item 2 !”);
data.add(“this is item 3 !”);
data.add(“this is item 4 !”);
data.add(“this is item 5 !”);
data.add(“this is item 6 !”);
data.add(“this is item 7 !”);
data.add(“this is item 8 !”);
data.add(“this is item 9 !”);
data.add(“this is item 10 !”);
data.add(“this is item 11 !”);
data.add(“end “);
return data; }
}
源码下载
相关文章推荐
- BMP与IplImage相互转换
- 【Cocos2dx 3.3 Lua】定时器事件
- canvas 详解(一)
- 配置高可用的Hadoop平台
- 路由器定时重启脚本
- 进程-筛质数
- CentOS 初级学习笔记 (1)
- http协议、Request和Response、Cookie、HttpSession、JSP
- unistd.h说明和用法
- 关于android 获取mac地址
- OC快速排序
- dojo中选项卡 不显示问题
- css中id和class 的区别
- Android Studio——Android View 如何绘制
- MSMQ消息队列安装
- CUBRID学习笔记 22 插入数据
- 给Eclipse提速的7个技巧
- 输入框 UITextFiled
- Asp.net 防刷新页面弹框,一般都用这个弹框
- 记录一个格式:发邮件时显示邮件联系人名称(昵称)