适配器的经典写法

class GridViewAdapter extends BaseAdapter{

        LayoutInflater inflater;
        List<PackageInfo> pkInfos;
        public GridViewAdapter(Context context,List<PackageInfo> packageInfos) {
            inflater = LayoutInflater.from(context);
            this.pkInfos = packageInfos;
        }
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return pkInfos.size();
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return pkInfos.get(position);
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub

                View view = inflater.inflate(R.layout.gv_item, null);
                TextView tv = (TextView)view.findViewById(R.id.gv_item_appname);
                ImageView iv = (ImageView)view.findViewById(R.id.gv_item_icon);
                tv.setText(pkInfos.get(position).applicationInfo.loadLabel(getPackageManager()));
                iv.setImageDrawable(pkInfos.get(position).applicationInfo.loadIcon(getPackageManager()));

            return view;
        }

    }

 1 class ListViewAdapter extends BaseAdapter{
 2
 3         LayoutInflater inflater;
 4         List<PackageInfo> pkInfos;
 5         public ListViewAdapter(Context context,List<PackageInfo> packageInfos) {
 6             inflater = LayoutInflater.from(context);
 7             this.pkInfos = packageInfos;
 8         }
 9         @Override
10         public int getCount() {
11             // TODO Auto-generated method stub
12             return pkInfos.size();
13         }
14
15         @Override
16         public Object getItem(int position) {
17             // TODO Auto-generated method stub
18             return pkInfos.get(position);
19         }
20
21         @Override
22         public long getItemId(int position) {
23             // TODO Auto-generated method stub
24             return position;
25         }
26
27         @Override
28         public View getView(int position, View convertView, ViewGroup parent) {
29             // TODO Auto-generated method stub
30
31                 View view = inflater.inflate(R.layout.lv_item, null);
32                 TextView ntv = (TextView)view.findViewById(R.id.lv_item_appname);
33                 TextView ptv = (TextView)view.findViewById(R.id.lv_item_packagename);
34                 ImageView iv = (ImageView)view.findViewById(R.id.lv_icon);
35                 ntv.setText(pkInfos.get(position).packageName);
36                 ptv.setText(pkInfos.get(position).applicationInfo.loadLabel(getPackageManager()));
37                 iv.setImageDrawable(pkInfos.get(position).applicationInfo.loadIcon(getPackageManager()));
38
39             return view;
40         }
41
42     }

尽量自己构建适配器,这样加载速度快,效率高。哪怕简单的也尽量不要使用SimpleAdapter

时间: 2024-11-10 01:22:28

适配器的经典写法的相关文章

隐藏键盘经典写法

只需要点击键盘的 return键 即可 - (IBAction)nameTextField_didendonexist:(id)sender { [self.psw becomeFirstResponder]; } - (IBAction)pawTextField_didendonexist:(id)sender { [sender resignFirstResponder]; [self.loginBtbsendActionsForControlEvents:UIControlEventTou

mysql的sql经典写法收录

表关联更新: UPDATE user_bank a INNER JOIN bank AS b ON a.bank_code = b.bank_code SET a.bank_type =b.id WHERE a.bank_type IS NULL AND a.id=1650; 更新前的查询: select * from user_bank where id = 1650; select * from user_bank where bank_type is null; select count(

IOS中的block 循环引用和retain cycle (经典)

retain cycle 的产生 说到retain cycle,首先要提一下Objective-C的内存管理机制. 作为C语言的超集,Objective-C延续了C语言中手动管理内存的方式,但是区别于C++的极其非人道的内存管理,Objective-C提出了一些机制来减少内存管理的难度. 比如:内存计数. 在Objective-C中,凡是继承自NSObject的类都提供了两种方法,retain和release.当我们调用一个对象的retain时,这个对象的内存计数加1,反之,当我们调用relea

一、单例模式(Singleton)

单例模式最初的定义出现于<设计模式>(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点.” 特点:一是某个类只能有一个实例: 二是它必须自行创建这个实例: 三是它必须自行向整个系统提供这个实例. 一.经典实现 using System; namespace SingletonPattern { // 经典写法 // sealed 阻止其他类从该类继承 public sealed class ClassicalSample { // 用来保存唯一实例 priva

用模块化编程

用模块化编程 最近想边学边整一下模块化编程,那么先从为何要使用模块化编程说起吧,可能你刚听说模块化编程,也没有关系,本篇讲的是很基础的东西. 一开始写代码的时候,我们可能只需要一个js文件,去实现一个很小的功能,比如下面这样: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&g

关于string的一些心得体会

要写string的函数,首先就是创建一个string的类,在实现string类的过程中一直不断优化,以减少代码量和考虑不周的问题,首先我先给出刚开始的经典写法 经典解法(初级程序员适用) class String { public: String(const char *str = ""):       //构造函数 _str(new char[strlen(_str)+1]) { strcpy(_str, str); } String(const String &str)  

基本的IO操作

一.基本的知识点 1. 输入与输出 输入:输入是一个从外界进入到程序的方向,通常我们需要“读取”外界的数据时,使用输入.所以输入是用来读取数据的. 输出:输出是一个从程序发送到外界的方向,通常我们需要”写出”数据到外界时,使用输出.所以输出是用来写出数据的. 2. 简述节点流和处理流的区别,以及Java流式输入输出的架构特点 1)按照流是否直接与特定的地方 (如磁盘.内存.设备等) 相连,分为节点流和处理流两类.节点流可以从或向一个特定的地方(节点)读写数据:处理流是对一个已存在的流的连接和封装

小结OC中Retain cycle(循环引用)

retain cycle 的产生 说到retain cycle,首先要提一下Objective-C的内存管理机制. 作为C语言的超集,Objective-C延续了C语言中手动管理内存的方式,但是区别于C++的极其非人道的内存管理,Objective-C提出了一些机制来减少内存管理的难度. 比如:内存计数. 在 Objective-C中,凡是继承自NSObject的类都提供了两种方法,retain和release.当我们调用一个对象的retain时,这个 对象的内存计数加1,反之,当我们调用rel

javascript模块化编程(1):为什么要用模块化编程

最近想边学边整一下模块化编程,那么先从为何要使用模块化编程说起吧,可能你刚听说模块化编程,也没有关系,本篇讲的是很基础的东西. 一开始写代码的时候,我们可能只需要一个js文件,去实现一个很小的功能,比如下面这样: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <