作家
登录

Android 自定义 BaseAdapter 最佳实践

作者: 来源: 2017-05-19 13:06:51 阅读 我要评论

  1. public class ViewHolder { 
  2.     private final View itemView; 
  3.  
  4.     public ViewHolder(View itemView) { 
  5.         if (null == itemView) { 
  6.             throw new IllegalArgumentException("itemView must not be null"); 
  7.         } else { 
  8.             this.itemView = itemView; 
  9.             itemView.setTag(this); 
  10.         } 
  11.     } 
  12.  
  13.     public View getItemView() { 
  14.         return itemView; 
  15.     } 

在ViewHolder中的itemView就是getView()办法中的convertView,这里刚好是条目标根View,类似RecyclerView中ViewHolder构造办法中itemView。因为不合的视图须要创建不合的ViewHolder,是以我们可以将创建ViewHolder的办法设置为抽象的办法裸露出去,别的赋值的时刻我们也须要根据具体的营业进行赋值,同样设置一个抽象办法。

  1. public abstract class SimpleAdapter<T,VH extends ViewHolder> extends MyAdapter<T> { 
  2.  
  3.     public SimpleAdapter(Context context) { 
  4.         super(context); 
  5.     } 
  6.  
  7.     public View getView(int position, View convertView, ViewGroup parent) { 
  8.         VH holder = null
  9.         if (null == convertView) { 
  10.             holder = onCreateViewHolder(parent); 
  11.             convertView = holder.getItemView(); 
  12.         } else { 
  13.             holder = (VH) convertView.getTag(); 
  14.         } 
  15.         onBindViewHolder(holder, position); 
  16.         return convertView; 
  17.     } 
  18.  
  19.     public abstract void onBindViewHolder(VH holder, int position); 
  20.  
  21.     public

      推荐阅读

      【海外风向标】阿斯利康公司CIO:想数字化转型成功?先给高层们“讲故事”吧

    Dave Smoley比来停止了一个为期三年的数字化改革过程,固然大年夜多半CIO们可能会在此时打开一瓶喷鼻槟庆贺,但这位阿斯利康集团的IT引导人已经把计谋重点缀向了成长和立异。Smoley给所有>>>详细阅读


    本文标题:Android 自定义 BaseAdapter 最佳实践

    地址:http://www.17bianji.com/lsqh/35318.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)