Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Adapter 一些建议

Aperta
#88 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
android, java
Ambito
mobile

Direzione di ricerca

Inizia leggendo le API di LoadMoreAdapter, MultiItemTypeAdapter e ItemViewDelegate, concentrandoti sui metodi elencati e sul comportamento del costruttore. Separa le quattro modifiche proposte in decisioni con ambito indipendente; il lavoro è completato quando i maintainer hanno concordato un ambito concreto e il comportamento interessato è coperto dai controlli già presenti nel repository.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

你好,看了你的代码,觉得很不错。在使用这个库的时候有几个想法:

关于LoadMoreAdapter

  1. 关于设置:hasLoadMore 这个方法是private。为什么不能设置 getter setter?很多时候加载更多的时候,如果没有更多的时候,能简单的设置hasLoadMore 不是更好吗?

  2. 错误处理,如果我在加载loadMore的时候,如果出现错误,如何显示一个错误的item?点击重新刷新?

关于 MultiItemTypeAdapter 数据安全 :

  1. 你的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() 这样的方法

Lingua principale
Java
Stelle
4.7k
Fork
1.2k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di hongyangAndroid/baseAdapter

Tutte le issue di hongyangAndroid/baseAdapter

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.