룬아님의 취중코딩

Android RecyclerView 어댑터에서 필터 후 원래 항목 위치를 얻는 방법 본문

개발/안드로이드 개발

Android RecyclerView 어댑터에서 필터 후 원래 항목 위치를 얻는 방법

룬아님 2019. 8. 5. 23:06
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://developer.android.com/reference/android/support/v7/widget/RecyclerView.ViewHolder#getadapterposition

 

RecyclerView.ViewHolder  |  Android Developers

RecyclerView.ViewHolder public static abstract class RecyclerView.ViewHolder extends Object java.lang.Object    ↳ android.support.v7.widget.RecyclerView.ViewHolder A ViewHolder describes an item view and metadata about its place within the RecyclerView. Re

developer.android.com

 

https://codeday.me/ko/qa/20190721/1114424.html

 

Android RecyclerView 어댑터에서 필터 후 원래 항목 위치를 얻는 방법? - 코드 로그

나는 안드로이드 recyclerview 어댑터에서 필터를 구현해야합니다. 그러나 문제는 내가 항목을 필터링 할 때 항목의 위치가 바뀌었을 때입니다. 필터 후 항목의 원래 위치가 필요합니까? 나는 그것을 어떻게 얻을 수 있는가? 여기 내 코드가 있습니다 : public class SearchAdapter extends SelectableAdapter implements Filterable { static ArrayList singleHadishDisplay

codeday.me

 

반응형
Comments