ListView框架的集成

第一步:

 1 public abstract class DefaultAdapter<T> extends BaseAdapter
 2 {
 3
 4     protected List<T> list;
 5
 6     public DefaultAdapter(List<T> list)
 7     {
 8
 9         this.list = list;
10     }
11
12     @Override
13     public int getCount()
14     {
15         // TODO Auto-generated method stub
16         return list.size();
17     }
18
19     @Override
20     public Object getItem(int position)
21     {
22         // TODO Auto-generated method stub
23         return list.get(position);
24     }
25
26     @Override
27     public long getItemId(int position)
28     {
29         // TODO Auto-generated method stub
30         return position;
31     }
32
33     public abstract BaseHolder<T> getHolder();
34
35     @Override
36     public View getView(int position, View convertView, ViewGroup parent)
37     {
38         // TODO Auto-generated method stub
39 //        View view = null;
40         BaseHolder<T> holder = null;
41
42         if (convertView == null)
43         {
44
45 //            view = View.inflate(MyApplication.getContext(), R.layout.item_city, null);
46             holder = getHolder();
47
48 //            holder.tv1 = (TextView) view.findViewById(R.id.tv1);
49 //            holder.tv2 = (TextView) view.findViewById(R.id.tv2);
50
51 //            view.setTag(holder);
52
53             convertView = holder.getView();
54
55         }
56
57
58         holder = (BaseHolder<T>) convertView.getTag();
59         holder.initData(list, position);
60 //        City city = list.get(position);
61 //        holder.tv1.setText(city.getName());
62 //        holder.tv2.setText(city.getPerson());
63
64         return convertView;
65     }
66
67 }

第二步:

 1 public abstract class BaseHolder<T>
 2 {
 3
 4     protected View view = null;
 5
 6     public BaseHolder()
 7     {
 8
 9         initView();
10     }
11
12     public View getView()
13     {
14         return view;
15     }
16
17
18     public abstract void initData(List<T> list, int position);
19
20     public abstract void initView();
21 }

第三步:

 1 public class StudentAdapter extends DefaultAdapter
 2 {
 3     public StudentAdapter(List list)
 4     {
 5         super(list);
 6     }
 7
 8     @Override
 9     public BaseHolder getHolder()
10     {
11         return new ViewHolder();
12     }
13
14     private class ViewHolder extends BaseHolder
15     {
16         private TextView tvName, tvAge;
17
18         @Override
19         public void initData(List list, int position)
20         {
21              Student student= (Student) list.get(position);
22             tvName.setText(student.getName());
23             tvAge.setText(String.valueOf(student.getAge()));
24
25         }
26
27         @Override
28         public void initView()
29         {
30             view = View.inflate(MyApplication.getAppContext(), R.layout.item_student_listview, null);
31             tvName = (TextView) view.findViewById(R.id.tv_student_listview_name);
32             tvAge= (TextView) view.findViewById(R.id.tv_student_listview_age);
33             view.setTag(this);
34         }
35     }
36 }
时间: 2024-11-07 05:08:29

ListView框架的集成的相关文章

细说shiro之五:在spring框架中集成shiro

官网:https://shiro.apache.org/ 1. 下载在Maven项目中的依赖配置如下: <!-- shiro配置 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>${version.shiro}</version> </dependency&g

SSH框架的集成优化

SSH框架的集成 SSH为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序.其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate.具体

hbase 表的设计与其它大数据框架的集成

一:hbase 表的设计管理 二:hbase hive 集成 三:sqoop 与hbase 的集成 四:hbase 与hue 集成 五:hbase 表的修复 一:hbase 表的设计管理 1.1 hbase 的shell 命令 1.1.1 创建一个命名空间 在新版本的hbase 中 表是存储在命名空间当中,默认的命名空间是default 创建一个命名空间: create_namespace 'ns2' 查看有多少个命名空间: list_namespace 在命名空间中建立表: create 'n

springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据

springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal form-material" th:object="${user}" th:action="@{/user/updateOneUserInfo}" method="post"> <input type="hidden

Struts1 Spring2 iBatis2 框架的集成

这个是属于比较老的框架了,奈何现在公司用的产品就是如此,闲来就搭一个集成框架吧 依赖jar包 antlr-2.7.6.jar aspectj-1.8.2.jar aspectjrt.jar aspectjweaver-1.6.12.jar bsf-2.3.0.jar cglib-nodep-2.1_3.jar commons-beanutils-1.8.0.jar commons-dbcp-1.4.jar commons-digester-2.0.jar commons-fileupload-1

php的laravel框架快速集成微信登录

最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是基于该框架实现的一个简易集成微信登录的方法.使用方法如下: 1. 安装php_weixin_provider 在项目下运行composer require thirdproviders/weixin,即可完成安装.安装成功后,在项目的vendor目录下应该能看到php_weixin_provider

IJKMediaFramework框架的集成和使用实例一枚

1.先导入IJKMediaFramework框架 集成好的包,不用再去麻烦了,直接拉到项目中即可, 地址http://pan.baidu.com/s/1ge8jxE7 ,有点大,但以后用到方便 2.导入相关framework和库 如图: 3. 导入头文件 #import <IJKMediaFramework/IJKMediaFramework.h> 4. 设置代理 @property(nonatomic, retain)id<IJKMediaPlayback>Play; 5. 地址

【最新版本】maven企业框架,集成GPS系统,绝对开源平台!Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice

框架整合: Springmvc + Mybatis + Shiro(权限) + REST(服务) + WebService(服务) + JMS(消息) + Lucene(搜搜引擎) + Quartz(定时调度) + Bootstrap Html5(支持PC.IOS.Android) 需要源码请加Q:3121026417   此处[源码获取地址] 框架简介: 项目Maven构建,真实大型互联网架构,做到高并发,大数据处理,整个项目使用定制化服务思想,提供模块化.服务化.原子化的方案,将功能模块进行

【开源框架】集成lucene搜索引擎和webservice服务

开发报捷:增加Lucene搜索引擎功能 1. 创建.初始化索引.统一搜索入口.搜索结果展现--内容.标题高亮.关键词搜索 2. 高级搜索:高级搜索增加多入口查询(精确查询.模糊查询.前缀查询等),每页显示条数自定义.索引结果数据设置.选择索引文档类型等) 集成lucene搜索引擎: 1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库访问) 2. 提供高并发JMS消息处理机制 3.