Android——ViewHolder

许明朗
2023-12-01

ViewHolder 的理解

要想使用 ListView 就需要编写一个 Adapter 将数据适配到 ListView上,而为了节省资源提高运行效率,一般自定义类 ViewHolder 来减少 findViewById() 的使用以及避免过多地 inflate view,从而实现目标。

Adapter的定义

继承 BaseAdapter (可在继承的时候指定泛型,扩展使用);
重写四个基本方法:

  1. getCount():获取数据的总的数量,返回 int 类型的结果;

  2. getItem(int position) :获取指定位置的数据,返回该数据;

  3. getItemId(int position):获取指定位置数据的id,返回该数据的id,一般以数据所在的位置作为它的id;

  4. getView(int position,View convertView,ViewGroup parent):关键方法,用于确定列表项

  5. 创建 ViewHolder (包含列表项的控件。)

ViewHolder 就是一个持有者的类,他里面一般没有方法,只有属性,作用就是一个临时的储存器,把你getView方法中每次返回的View存起来,可以下次再用。这样做的好处就是不必每次都到布局文件中去拿到你的View,提高了效率。

 类似资料: