Android:Adapter组件的使用笔记

Android:Adapter组件的使用笔记,第1张

概述菜鸡写的,可能有错,欢迎指正。学校老师太坑,自己写的书代码竟然不加注释,只能自学组件方面内容了。一、Adapter的作用:传递ListView,GridView,Spinner等组件的各个位置的具体内容。二、BaseAdapter三、自定义的Adapter记录最基本的用法1.数据成员:数据源(数组),上下文,需要绑定

菜鸡写的,可能有错,欢迎指正。

学校老师太坑,自己写的书代码竟然不加注释,只能自学组件方面内容了。

一、Adapter的作用:

传递ListVIEw,GrIDVIEw,Spinner等组件的各个位置的具体内容。

二、BaseAdapter

三、自定义的Adapter

记录最基本的用法
1.数据成员:数据源(数组),上下文,需要绑定的组件类型

public class GoodsAdapter extends BaseAdapter {    private Context context;//上下文    private ListVIEw ListVIEw;    private List<GoodsInfo> goodsList;    //construct function    public GoodsAdapter(Context context, ListVIEw ListVIEw){        this.context=context;        this.ListVIEw=ListVIEw;    }    public voID setData(List<GoodsInfo> data){        goodsList=data;    }

2.重写方法
主要重写getVIEw方法,因为这个方法决定了每个列表项的内容。这个方法是绑定后自动调用的。 重写的思路:新建每个列表项的对应视图,然后通过一个静态类VIEwHolder来设置视图内组件的具体内容,随后返回此视图。

	//convertVIEw对应的是ListVIEw中每个项的VIEw是什么    //通过VIEwHolder来设置convertVIEw的具体内容    @OverrIDe    public VIEw getVIEw(int position, VIEw convertVIEw, VIEwGroup parent) {        //获得列表项的的视图,用inflate方法获取,并设置布局        convertVIEw=VIEw.inflate(context,R.layout.goods_item,null);        VIEwHolder holder=new VIEwHolder(convertVIEw);        //每个位置的商品信息存放在对应的商品列表位置,已设置好        GoodsInfo goodsInfo=goodsList.get(position);        holder.setAttribute(goodsInfo);        return convertVIEw;    }
VIEwHolder的存在意义是优化,好像是可以做到复用vIEw,节省内存。 其成员变量是布局中的各个组件
    //VIEwHolder是用于优化且方便设置内容    static class VIEwHolder{        //定义属性,对应布局文件中的各个组件。        public ImageVIEw img;        public TextVIEw Title;        public TextVIEw desc;        //得到对应位置组件实例        public VIEwHolder(VIEw itemVIEw){            img=(ImageVIEw)itemVIEw.findVIEwByID(R.ID.imageVIEw);            Title=(TextVIEw)itemVIEw.findVIEwByID(R.ID.Title);            desc=(TextVIEw)itemVIEw.findVIEwByID(R.ID.desc);        }        //设置组件的具体内容        public voID setAttribute(GoodsInfo goodsinfo){            img.setimageResource(goodsinfo.getimgID());            Title.setText(goodsinfo.getTitle());            desc.setText(goodsinfo.getDesc());        }    }
四、Adapter使用以ListVIEw为例 :
利用ListVIEw创建Adapter对象后,Adapter对象来决定各个列表项内容是什么,然后再绑定回ListVIEw对象。
MainActivity中代码:
public class MainActivity extends AppCompatActivity {    private List<GoodsInfo> goodsList;//商品信息列表    private ListVIEw ListVIEw;    private GoodsAdapter goodsAdapter;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        initData();//创建商品列表,并初始化各个信息        ListVIEw = (ListVIEw) findVIEwByID(R.ID.ListVIEw);        goodsAdapter = new GoodsAdapter(MainActivity.this,ListVIEw);        goodsAdapter.setData(goodsList);        ListVIEw.setAdapter(goodsAdapter);    }
总结

以上是内存溢出为你收集整理的Android:Adapter组件的使用笔记全部内容,希望文章能够帮你解决Android:Adapter组件的使用笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1024528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存