请问 一个写好的XML文件 怎么引入到listView中

2024-11-23 21:50:17
推荐回答(1个)
回答1:

自定义一个class 集成 BaseAdapter 

会强制重写几个方法 其中2个最重要

一个是 getcount  这个方法返回一个int 目的是让listview知道总共有几个item 有几个item getView就会调用几次


另一个是 getview 这个方法就是需要把你要的xml装进去 并且在里面做一些赋值的逻辑 上面提到的getcount 返回几个这个方法就调用几次并且每一次调用 里面的position参数会加1也就是说 

position为0是第一个item 为1是第二个item以此类推

下面我贴一下我的一段代码供你参考

private class MyAdapter extends BaseAdapter{


    private List data;

    public MyAdapter(List data){
        this.data = data;
        notifyDataSetChanged();
    }

    public void setData(List data){
        this.data = data;
        notifyDataSetChanged();
    }

    @Override
    public int getCount() {

        if (data != null)
            return data.size();


        return 0;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }



    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        Holder holder;
        if (convertView == null){//这里是为了优化listview的性能
            convertView = LayoutInflater.from(mActivity).inflate(R.layout.item_pic,null);//这一句就是把 xml装到listview里
            holder = new Holder();
            holder.imageView = (ImageView) convertView.findViewById(R.id.img);//这一句是获取xml里面的控件
            convertView.setTag(holder);
        }else{
            holder = (Holder) convertView.getTag();
        }





        ImageLoader.getInstance().displayImage(data.get(position),holder.imageView,options);//这一句就是给imageview控件下载图片并显示



        return convertView;
    }
}


public class Holder{
    public ImageView imageView;
}