일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 생명주기
- recyclerview
- Fragment에서 Activity의 함수 사용하기
- 뷰변경 감지
- Error:Execution failed for task ':app:mergeDebugResources'
- LayoutManger
- 안드로이드개발레벨업교과서
- IntentTestRule
- viewholder
- 코틀린
- 테마 아이콘
- binding adapter
- high order function
- adapter
- ActivityTestRule
- 안드로이드
- ui test
- Fragment 수동 추가
- 코딜리티
- Android
- searchview
- fragment
- 리사이클러뷰
- espresso
- 재사용
- 고차함수
- 안드로이드스튜디오
- 구분선
- 안드로이드13
- 스와이프
- Today
- Total
룬아님의 취중코딩
Android RecyclerView 어댑터에서 필터 후 원래 항목 위치를 얻는 방법 본문
int pos = list.indexOf(arraylist1.get(getAdapterPosition()));
int getAdapterPosition ()
Returns the Adapter position of the item represented by this ViewHolder.
Note that this might be different than the getLayoutPosition() if there are pending adapter updates but a new layout pass has not happened yet.
RecyclerView does not handle any adapter updates until the next layout traversal. This may create temporary inconsistencies between what user sees on the screen and what adapter contents have. This inconsistency is not important since it will be less than 16ms but it might be a problem if you want to use ViewHolder position to access the adapter. Sometimes, you may need to get the exact adapter position to do some actions in response to user events. In that case, you should use this method which will calculate the Adapter position of the ViewHolder.
Note that if you've called notifyDataSetChanged(), until the next layout pass, the return value of this method will be NO_POSITION.
이 ViewHolder가 나타내는 항목의 어댑터 위치를 리턴합니다. 보류중인 어댑터 업데이트가 있지만 새 레이아웃 단계가 아직 발생하지 않은 경우 이는 getLayoutPosition ()과 다를 수 있습니다. RecyclerView는 다음 레이아웃이 통과 할 때까지 어댑터 업데이트를 처리하지 않습니다. 이로 인해 사용자가 화면에 표시하는 것과 어댑터 내용에있는 내용간에 일시적인 불일치가 발생할 수 있습니다. 이 불일치는 16ms보다 작으므로 중요하지 않지만 ViewHolder 위치를 사용하여 어댑터에 액세스하려는 경우 문제가 될 수 있습니다. 때로는 사용자 이벤트에 대한 응답으로 일부 작업을 수행하기 위해 정확한 어댑터 위치를 가져와야 할 수도 있습니다. 이 경우 ViewHolder의 어댑터 위치를 계산하는이 메서드를 사용해야합니다. notifyDataSetChanged ()를 호출 한 경우 다음 레이아웃이 통과 할 때까지이 메소드의 반환 값은 NO_POSITION이됩니다.
https://codeday.me/ko/qa/20190721/1114424.html
'개발 > 안드로이드 개발' 카테고리의 다른 글
Koin으로 Dialog 사용하기 (0) | 2019.08.17 |
---|---|
Recyclerview의 보여지는 뷰의 index 변화를 알려주는 Listener (1) | 2019.08.13 |
다이얼로그에 왜 application context를 사용하면 안될까? (1) | 2019.08.05 |
안드로이드 버튼 리플 효과 적용 (0) | 2019.08.05 |
Only fullscreen opaque activities can request orientation 이슈 (0) | 2019.08.05 |