Ich Wana erstellen mobile Anwendung, die RecyclerView mit Seitennummerierung verwendet, die jedes Mal aus dataBase 10 Elemente lädt, dann wenn die Liste die Unterseite ich 10 andere Elemente laden, so habe ich diese Methode verwendet, um benachrichtigt zu werden, wenn ich erreicht Ende der Liste:RecyclerView notifyDataSetChanged IllegalStateException
public boolean reachedEndOfList(int position) {
// can check if close or exactly at the end
return position == getItemCount() - 1;
}
und ich diese Funktion Artikel laden:
@Override
public void onBindViewHolder(Info holder, int position, List<Object> payloads) {
if (reachedEndOfList(position)) {
Log.d("reachedEnd", "true");
this.autoCompletesTmp = getTmp();
notifyDataSetChanged();
}
}
getTmp() die Liste der Elemente mit weiteren 10 Artikel aktualisieren, aber ich bekomme diese Ausnahme, wenn ich das erreicht Ende der Liste:
java.lang.IllegalStateException: Cannot call this method while RecyclerView is computing a layout or scrolling
Warum rufst du 'notifyDataSetChanged' auf' onBindViewHolder'? – royB
weil ich dort die Position des View Items kennen konnte und meine Methode "beactedEndOfList (int position)" aufrufen konnte, um zu wissen, ob ich das Ende der Liste erreicht habe – S4M37
erkläre dies: this.autoCompletesTmp = getTmp(); – Dexter