RecyclerView время от времени показывает «мертвые» предметы - PullRequest
0 голосов
/ 30 октября 2019

У меня есть такая настройка RecyclerView:

<androidx.recyclerview.widget.RecyclerView
   android:scrollbars="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:scrollbarThumbVertical="@android:color/transparent"
   app:fastScrollEnabled="true"
   app:fastScrollHorizontalThumbDrawable="@drawable/thumb_drawable"
   app:fastScrollHorizontalTrackDrawable="@drawable/line_drawable"
   app:fastScrollVerticalThumbDrawable="@drawable/thumb_drawable"
   app:fastScrollVerticalTrackDrawable="@drawable/line_drawable"/>

// Linear layout manager
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);

// Touch helper for scrolling
ItemTouchHelper touchHelper = new ItemTouchHelper(touchHelperCallback);
touchHelper.attachToRecyclerView(recyclerView);

// Simple adapter
MyAdapter adapter = new MyAdapter(myDataset);
recyclerView.setAdapter(adapter);

enter image description here

Каждый элемент имеет круг, который при долгом нажатии изменяет визуализацию напозволяют выбирать только другие элементы.

enter image description here

Спорадически, и поэтому я не могу понять, что происходит, длинные нажатые элементы получаютдублированный дублированный «мертвый» элемент без данных ViewModel, который застрял в представлении. Если этот элемент прокручивается за пределами экрана (я полагаю, когда он будет переработан), он исчезает, и все кажется нормальным. Вы можете увидеть это в следующей анимации.

enter image description here

Это так раздражает, и я попробовал все, но не могу отследить это. Любая идея?

РЕДАКТИРОВАТЬ: новый совет, это происходит, начиная с Android 9!

...