android开发教程之使用listview显示qq联系人列表

2019-12-10 20:10:06于海丽

        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public long getItemId(int itemId) {     //点击某一行时会调用该方法,其形参由安卓系统提供
        // TODO Auto-generated method stub
        return itemId;
    }
    /**
     * getView方法为系统在绘制每一行时调用,在此方法中要设置需要显示的文字,图片,
     * 以及为按钮设置监听器。
     * 
     * 形参意义:
     * position:当前绘制的item 的位置(ID);
     * convertView,系统在绘制ListView时,如果是绘制第一个Item(即第一行),convertView为null,当
     * 绘制第二个及以后的Item的convertView不为空,这时可以直接利用这个convertView的getTag()方法,获得各控件
     * 的实例,并进行相应的设置,这样可以加快绘图速度。
     * 
     * 为了为convertView设置附加信息Tag,这里创建一个内部类ViewHolder,用于盛放一行中所有控件的引用,将这些引用
     * 实例化后作为convertView的附加信息。
     */
    class ViewHolder{
        public ImageButton ctPhoto=null;
        public TextView ctName=null,ctSign=null;

        /*
         * 从这里可以看出,from和to数组彼此之间的元素应该一一对应,同时from和to各自元素内部的顺序不同,最后ListView
         * 呈现的位置也会不同!
         */
        public ViewHolder(View convertView){
            ctPhoto=(ImageButton)convertView.findViewById(to[0]);    
            /*注意View和Activity都属于容器类,都需要设置布局文件,内部都含有子控件,且都有findViewById()
             * 他们之间没有明显的继承关系
             */
            ctName=(TextView)convertView.findViewById(to[1]);