30/09/2018, 21:53
Vấn đề với RecyclerView trong android
Hi anh em,
Đang dev trên android sử dùng RecyclerView, Khi adding infinite scroll, sử dụng thỉnh thoảng bị crash với lôi như dưới:
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 10(offset:10).state:11
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4659)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:4617)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1994)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1390)
anh em có ai đã làm và gặp phải chưa? giải quyết thế nào?
ref: https://code.google.com/p/android/issues/detail?id=77846
Bài liên quan
Không có code nên không rõ lắm.
Mỗi khi thêm, xóa, sửa liên quan đến thằng adapter thì gọi notifyDataSetChanged() (Đoán mò là do sai index vì chưa được cập nhật lại)
Hoặc có thể thử tạo một custom layout manager rồi set nó cho RecyclerView:
Answer 1 tại đây: http://stackoverflow.com/questions/30220771/recyclerview-inconsistency-detected-invalid-item-position
http://stackoverflow.com/questions/31367599/how-to-update-recyclerview-adapter-data
đã thử tất cả các cách, sai index là do RecyclerView tính sai ây, khi thêm phần tử đã gọi rồi notifyDataSetChanged(), mà vân bi,
link mình đưa projecr member của cái Rycycler View có phán:
Đã resolve:, thỉnh thoảng bị nhưng rất it, chấp nhận được:
Cho ai bị và cách giải quyết như dưới:
Gọi hàm setRecyclerView chỗ nào cần load more data như dưới