- public class ViewHolder {
- private final View itemView;
- public ViewHolder(View itemView) {
- if (null == itemView) {
- throw new IllegalArgumentException("itemView must not be null");
- } else {
- this.itemView = itemView;
- itemView.setTag(this);
- }
- }
- public View getItemView() {
- return itemView;
- }
- }
在ViewHolder中的itemView就是getView()办法中的convertView,这里刚好是条目标根View,类似RecyclerView中ViewHolder构造办法中itemView。因为不合的视图须要创建不合的ViewHolder,是以我们可以将创建ViewHolder的办法设置为抽象的办法裸露出去,别的赋值的时刻我们也须要根据具体的营业进行赋值,同样设置一个抽象办法。
- public abstract class SimpleAdapter<T,VH extends ViewHolder> extends MyAdapter<T> {
- public SimpleAdapter(Context context) {
- super(context);
- }
- public View getView(int position, View convertView, ViewGroup parent) {
- VH holder = null;
- if (null == convertView) {
- holder = onCreateViewHolder(parent);
- convertView = holder.getItemView();
- } else {
- holder = (VH) convertView.getTag();
- }
- onBindViewHolder(holder, position);
- return convertView;
- }
- public abstract void onBindViewHolder(VH holder, int position);
- public
推荐阅读
【海外风向标】阿斯利康公司CIO:想数字化转型成功?先给高层们“讲故事”吧
Dave Smoley比来停止了一个为期三年的数字化改革过程,固然大年夜多半CIO们可能会在此时打开一瓶喷鼻槟庆贺,但这位阿斯利康集团的IT引导人已经把计谋重点缀向了成长和立异。Smoley给所有>>>详细阅读
本文标题:Android 自定义 BaseAdapter 最佳实践
地址:http://www.17bianji.com/lsqh/35318.html
1/2 1