2017-05-07 3 views
0

셋업 : (project link)영역 DB 및 RecyclerView 타이밍 문제 삭제 항목 동안

I의 (a RealmRecyclerViewAdapter 포함) RecyclerView를 사용 this과 같은 이름의 목록을 표시.

왼쪽 위 모서리에있는 끈끈한 색인 문자의보기와 항목 자체의 색인 문자를 관리하기 위해 RecyclerView의 ScrollListener는 updateStickyIndex()를 통해 끈적 인 색인 및 항목 색인의 가시성을 설정합니다.

는 문제 :

내가 항목하기 전에 실행됩니다 RealmTransaction의는 onSuccess의 끈적 인덱스를() 갱신의 영역 DB에 뭔가를 삭제할 때마다 실제로 RecyclerView에 변경되었습니다. 항목이 변경된 후에 updateStickyIndex()를 호출하려면 onSuccess()에서 호출을 지연해야합니다.

무엇이 누락 되었습니까?

+0

데이터베이스에서 항목을 제거한 후 어댑터에 알리지 못했습니다. –

+0

RealmRecyclerViewAdapter가 처리하므로 ... 변경이 일어나고 있습니다. RealmTransaction의 onSuccess() 콜백 이후에 발생합니다. – kazume

+0

내가 찾고있는 것은 어댑터 자체가 recyclerview에 변경 사항을 전달하는시기를 알 수있는 방법이 있다면 무엇입니까? – kazume

답변

0

(here에서 얻은) LinearLayoutManager의 onLayoutCompleted()를 재정 의하여 LayoutManager가 실제로 DB/어댑터의 변경 사항을 완료 한 후 정확한 시점에 고정 인덱스의 업데이트를 호출 할 수 있습니다.