一路做一路学,感谢互联网给我们提供的资源
学习Android开发的小伙伴们都知道,List(列表)、Grid(表格)、RecycleView等使用的是适配器模式,即需要一个Adapter为视图提供数据。而在使用Adapter的时候,getView方法内含了复用机制,即子视图的对象会循环利用,以免造成OOM。
复用机制在早期的List等中,需要开发者手动实现,其示例如下:
此处的itemView是一个上图标下文字的布局。
inner class GridItemViewHolder(val root: View) {
var tvText: TextView
var ivIcon: ImageView
val views = SparseArray<View>()//Android推荐使用的集合框架,键值对形式存储
init {
//作为主构造函数的方法体,且一定是第一个调用
tvText = getTextView(R.id.id_tv_grid_text)
ivIcon = getImageView(R.id.id_iv_grid_icon)