From b3a51f064c4dfb27f54cd9526803338d2e8dc296 Mon Sep 17 00:00:00 2001 From: Runt <qingingrunt2010@qq.com> Date: Sat, 13 Aug 2022 16:26:49 +0000 Subject: [PATCH] 添加注释,部分优化 --- app/src/main/java/com/runt/open/mvvm/base/adapter/BaseAdapter.java | 22 +++++++--------------- 1 files changed, 7 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/runt/open/mvvm/base/adapter/BaseAdapter.java b/app/src/main/java/com/runt/open/mvvm/base/adapter/BaseAdapter.java index 755f0ee..a494dcf 100644 --- a/app/src/main/java/com/runt/open/mvvm/base/adapter/BaseAdapter.java +++ b/app/src/main/java/com/runt/open/mvvm/base/adapter/BaseAdapter.java @@ -3,13 +3,11 @@ import android.util.Log; import android.view.LayoutInflater; import android.view.ViewGroup; - import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import androidx.viewbinding.ViewBinding; - import com.runt.open.mvvm.databinding.LayoutNullBinding; -import com.runt.open.mvvm.util.DeviceUtil; +import com.runt.open.mvvm.util.DimensionUtils; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -19,8 +17,8 @@ /** * Created by Administrator on 2021/10/27 0027. - * T 数据类型 - * V 适配器视图 + * DATA 数据类型 + * VB 适配器视图 */ public abstract class BaseAdapter<DATA, VB extends ViewBinding> extends RecyclerView.Adapter<RecyclerView.ViewHolder> { @@ -77,16 +75,9 @@ @Override public ViewBindHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if(viewType == 1 ){ - // get genericity "B" try { + //实例化viewbind Class<VB> entityClass = (Class<VB>) ((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[1]; - /*for(Method method: entityClass.getMethods()){ - StringBuilder sb = new StringBuilder(); - for(Class type : method.getParameterTypes()){ - sb.append(type.getSimpleName()+","); - } - Log.e("BaseAdapter",String.format("method:%s,return:%s,param:%s",method.getName(),method.getReturnType().getSimpleName(),sb.toString())); - }*/ Method method = entityClass.getMethod("inflate", LayoutInflater.class,ViewGroup.class,boolean.class);//get method from name "inflate"; VB vBind = (VB) method.invoke(entityClass,LayoutInflater.from(parent.getContext()),parent,false);//execute method to create a objct of viewbind; return new ViewBindHolder(vBind); @@ -105,6 +96,7 @@ e.printStackTrace(); } } + //加载空数据 return new ViewBindHolder( LayoutNullBinding.inflate( LayoutInflater.from(parent.getContext()), parent, false ) ); } @@ -148,9 +140,9 @@ protected void setBottomMargin(RecyclerView.ViewHolder holder, int position, float dp, float defaultDp){ ViewGroup.MarginLayoutParams params1 = (ViewGroup.MarginLayoutParams) holder.itemView.getLayoutParams(); if(position == dataList.size() -1){ - params1.setMargins(params1.leftMargin, params1.topMargin, params1.rightMargin, DeviceUtil.convertDpToPixel(dp,holder.itemView.getContext())); + params1.setMargins(params1.leftMargin, params1.topMargin, params1.rightMargin, (int) DimensionUtils.convertDpToPixel(dp,holder.itemView.getContext())); }else{ - params1.setMargins(params1.leftMargin, params1.topMargin, params1.rightMargin, DeviceUtil.convertDpToPixel(defaultDp,holder.itemView.getContext())); + params1.setMargins(params1.leftMargin, params1.topMargin, params1.rightMargin, (int) DimensionUtils.convertDpToPixel(defaultDp,holder.itemView.getContext())); } } -- Gitblit v1.9.1