Adapter 一些建议
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Empieza leyendo las APIs de LoadMoreAdapter, MultiItemTypeAdapter e ItemViewDelegate, centrándote en los métodos indicados y en el comportamiento del constructor. Separa los cuatro cambios propuestos en decisiones con alcance independiente; se considera hecho cuando los maintainers hayan acordado un alcance concreto y el comportamiento afectado esté cubierto por las comprobaciones existentes del repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
你好,看了你的代码,觉得很不错。在使用这个库的时候有几个想法:
关于LoadMoreAdapter
-
关于设置:hasLoadMore 这个方法是private。为什么不能设置 getter setter?很多时候加载更多的时候,如果没有更多的时候,能简单的设置hasLoadMore 不是更好吗?
-
错误处理,如果我在加载loadMore的时候,如果出现错误,如何显示一个错误的item?点击重新刷新?
关于 MultiItemTypeAdapter 数据安全 :
- 你的adapter 的 构造函数里面要求传入 List, 你将传入的赋予mData。 其实我觉得最好是你自己内部建立一个空的List, 避免null指针
public class MultiItemTypeAdapter<T> extends RecyclerView.Adapter<ViewHolder> {
protected Context mContext;
protected List<T> mDatas = new ArrayList<>();
protected ItemViewDelegateManager mItemViewDelegateManager = new ItemViewDelegateManager();
protected OnItemClickListener mOnItemClickListener;
public MultiItemTypeAdapter(Context context) {
mContext = context;
}
public void addData(List<T> datas) {
mDatas.addAll(datas);
}
public void setData(List<T> datas) {
mDatas.clear();
mDatas.addAll(datas);
}
关于 ItemViewDelegate
RecycleViewAdapter 有两个基本方法:
onCreateViewHolder
onBindViewHolder
个人觉得可以把 ItemViewDelegate#convert(ViewHolder holder, T t, int position); 分为两个方法 :
void create(View view); 这个方法用来初始化ViewHolder里面的Views (现在很多人喜欢用 butterKnife)这个方法在 onCreateViewHolder 调用
void convert(T t, int position); 这个方法在 onBindViewHolder 调用
因为在create()里面已经初始化了所有views 所以就不需要 ViewHolder holder 来调用 譬如
holder.setText() 这样的方法
- Lenguaje dominante
- Java
- Estrellas
- 4.7k
- Forks
- 1.2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de hongyangAndroid/baseAdapter
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
hongyangAndroid/baseAdapter#122 ·
-
含泪放弃维护了 Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 1/100
hongyangAndroid/baseAdapter#136 ·
-
鸿洋大神不维护了,我开源个基于dataBinding的 Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
hongyangAndroid/baseAdapter#134 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
hongyangAndroid/baseAdapter#133 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
hongyangAndroid/baseAdapter#131 · 2 comentarios · 1 reacción ·
Todos los issues de hongyangAndroid/baseAdapter
Issues similares
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
apache/flink-agents#1156 ·
-
[source-shopify] FAILED bulk operation without partialDataUrl is silently treated as successful Abiertoarea/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100