6
Mam układ z RecyclerView
z adapterem:aktualizacje RecyclerView tylko na zwoju
public class SimpleRecyclerAdapter extends RecyclerView.Adapter<SimpleViewHolder> {
protected List<JSONObject> data = new ArrayList<>();
public List<JSONObject> getData() { return data; }
}
zaktualizować to adapter jak:
public void udpdateFromJson(JSONObject payload) {
JSONArray msgs = payload.optJSONArray("messages");
for(int ix = 0; null != msgs && ix < msgs.length(); ix++){
JSONObject o = msgs.optJSONObject(ix);
if(loadingMore) adapter.getData().add(1 + ix, o);
else adapter.getData().add(o);
}
adapter.notifyDataSetChanged();
recyclerView.invalidate();
}
Problemem jest to, że mogę zobaczyć nowy element tylko wtedy, gdy dotknę lub przewiń widok.
Czego mi brakuje?
UPDATE:
aby rozwiązać problem Wymieniłem linie
adapter.notifyDataSetChanged();
recyclerView.invalidate();
z
adapter.notifyItemRangeInserted(loadingMore ? 1 : 0, msgs.length());
i to działało