参考博客:BaseAdapter中重写getview的心得以及发现convertView回收的机制

使用自定义的BaseAdapter实现LIstView的展示

由于Recycler(反复循环器)的机制,所以getView代码转变如下

   public View getView(int position, View view, ViewGroup viewGroup) {
        final SpinnerItem item = (SpinnerItem)getItem(position);
        ViewHolder viewHolder=null;
//        Log.e("SEARCH_RESULT", String.valueOf(position));
//        Log.e("SEARCH_RESULT", item.getItemID());
        if (view == null) {
            view = View.inflate(mContext, layout, null);
            viewHolder = new ViewHolder();
            viewHolder.mTxtName = (TextView) view.findViewById(R.id.search_expand_item);
            viewHolder.mTxtID =(TextView)view.findViewById(R.id.search_expand_item_id);
            viewHolder.mTxtDisplay =(TextView)view.findViewById(android.R.id.text1);
            view.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder)view.getTag();
        }
        if(viewHolder != null) {
            if (viewHolder.mTxtName != null) {
                viewHolder.mTxtName.setText(item.getItemName());
            }
            if(viewHolder.mTxtID != null) {
                viewHolder.mTxtID.setText(item.getItemID());
            }
            if(viewHolder.mTxtDisplay !=null) {
                viewHolder.mTxtDisplay.setText(item.getItemName());
            }
        }
//        if(mTxtName != null) {
//            mTxtName.setText(item.getItemName());
//        }
//        if(mTxtID != null) {
//            mTxtID.setText(item.getItemID());
//        }
//
//        if(mTxtDisplay != null){
//            mTxtDisplay.setText(item.getItemName());
//        }
        return view;
    }

使用了ViewHolder,如下

    public class ViewHolder{
        TextView mTxtName;
        TextView mTxtID;
        TextView mTxtDisplay;
    }

Android ListView自定义Adapter使用误区的更多相关文章

  1. Android ListView 自定义 Adapter

    自定义Adapter类 public class ListViewAdapter extends BaseAdapter { private static final String TAG = Mai ...

  2. [Android] Android RecycleView和ListView 自定义Adapter封装类

    在网上查看了很多对应 Android RecycleView和ListView 自定义Adapter封装类 的文章,主要存在几个问题: 一).网上代码一大抄,复制来复制去,大部分都运行不起来,或者 格 ...

  3. Android listview与adapter用法(BaseAdapter + getView)

    Android listview与adapter用法http://www.cnblogs.com/zhengbeibei/archive/2013/05/14/3078805.html package ...

  4. Android学习----自定义Adapter实现ListView

    前言: 对于ListView而言,自定义的Adapter对于显示复杂的界面有很大的灵活性 .使用自定义的Adapter需要继承BaseAdapter,然后重写getCount(),getView(), ...

  5. Android listview与adapter用法

    listview与adapter用法 博客分类: android   一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView ...

  6. 【转】Android listview与adapter用法

    一个ListView通常有两个职责. (1)将数据填充到布局. (2)处理用户的选择点击等操作. 第一点很好理解,ListView就是实现这个功能的.第二点也不难做到,在后面的学习中读者会发现,这非常 ...

  7. 【转】Android之自定义Adapter的ListView

    http://www.cnblogs.com/topcoderliu/archive/2011/05/07/2039862.html 在开发中,我们经常使用到ListView这个控件.Android的 ...

  8. Android之自定义Adapter的ListView

    ListView的创建,一般要具备两大元素: 1)数据集,即要映射的字符串.图片信息之类. 2)适配器,实现把要映射的字符串.图片信息映射成视图(如Textview.Image等组件),再添加到Lis ...

  9. Android ListView 和 ***Adapter 从本地/网络获取歌曲列表

    本文内容 环境 项目结构 测试数据 演示 1:SimpleAdapter 演示 2:BaseAdapter 演示 3:CustomLazyList 演示 4:CustomLazyCompleteLis ...

随机推荐

  1. HTML&CSS----练习(运算符)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. TCP和UDP的135、137、138、139、445端口的作用

    如果全是2000以上的系统,可以关闭137.138.139,只保留445 如果有xp系统,可能以上四个端口全部要打开 无论你的服务器中安装的是Windows 2000 Server,还是Windows ...

  3. Scrum会议3(Beta版本)

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  4. IP_TOS选项

    voip IP_tos 选项 在IP头中,有一Type-of-Service字段,该字段描述了IP包的优先级和QoS选项,使用IP_TOS可以来设定该字段的值,以区分不同服务的优先级,Linux 中可 ...

  5. 《你不知道的JavaScript》读书笔记(二)词法作用域

    JavaScript 采用的是 词法作用域 的工作模型. 定义 词法化:大部分标准语言编译器的第一个工作阶段叫词法化(单词化),这个过程会对源代码中的字符进行检查,如果是有状态的解析过程,还会赋予单词 ...

  6. Web 在线文件管理器学习笔记与总结(11)获取文件夹信息 (12)返回上一级操作

    (11)获取文件夹信息 文件夹没有修改操作. index.php: <?php require 'dir.func.php'; require 'file.func.php'; require ...

  7. How Browsers Work: Behind the scenes of modern web browsers

    http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/#Parser_Lexer_combination Grammars ...

  8. visual studio 2005 编fortran程序,运行后dos窗口显示问题

    比如程序: program main implicit none write(*,*) "AAAAAAAAAAAAAAAAAAAAAAAA" stop end 虽然可以看见DOS窗 ...

  9. startActivityForResult的用法和demo

    [转]startActivityForResult的用法和demo 博客分类:  java 移动开发 有时候我们需要把A activity提交数据给B  activity处理,然后把结果返回给A 这种 ...

  10. go access database demo

    package main import ( "database/sql" "fmt" _ "github.com/lib/pq" " ...