6
У меня есть макет с RecyclerView
с адаптером:обновления RecyclerView только на свитке
public class SimpleRecyclerAdapter extends RecyclerView.Adapter<SimpleViewHolder> {
protected List<JSONObject> data = new ArrayList<>();
public List<JSONObject> getData() { return data; }
}
Я обновить это адаптер, как:
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();
}
Проблема заключается в том, что я получаю, чтобы увидеть новый элемент, только когда я касаюсь или просматриваю вид.
Что мне не хватает?
UPDATE:
, чтобы решить эту проблему, я заменил строки
adapter.notifyDataSetChanged();
recyclerView.invalidate();
с
adapter.notifyItemRangeInserted(loadingMore ? 1 : 0, msgs.length());
и работал