Почему DefaultIteManimator заставляет заменить замены владельцев просмотра воссоздать?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему DefaultIteManimator заставляет заменить замены владельцев просмотра воссоздать?

Сообщение Anonymous »

Эй, так что в основном я сталкиваюсь с проблемой с Recyclerview в последнее время (проблема, которую я столкнулся, описан здесь: Recyclerview Regreating Viewholder вместо повторения). Что я обнаружил, так это то, что itemanimator Inside Recyclerview решает, должен ли быть изменен, должен быть создан и перекрестный визит. />https://medium.com/android-news/anatomy ... 1c631a2b91
Я предполагаю, что это часть DefaultIteManimater, который решает, что должно произойти:

Код: Выделить всё

     /**
* {@inheritDoc}
*
* If the payload list is not empty, DefaultItemAnimator returns true
.
* When this is the case:
*
  • *
  • If you override {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)}, both
    * ViewHolder arguments will be the same instance.
    *
    *
  • * If you are not overriding {@link #animateChange(RecyclerView.ViewHolder, RecyclerView.ViewHolder, int, int, int, int)},
    * then DefaultItemAnimator will call {@link #animateMove(RecyclerView.ViewHolder, int, int, int, int)} and
    * run a move animation instead.
    *
    *
*/
@Override
public boolean canReuseUpdatedViewHolder(@NonNull RecyclerView.ViewHolder viewHolder,
@NonNull List payloads) {
return !payloads.isEmpty() || super.canReuseUpdatedViewHolder(viewHolder, payloads);
}

Теперь решение моей проблемы состояла в том, чтобы просто назвать onitemrangechanged () с некоторой произвольной полезной нагрузкой, и это всегда повторно использует Viewholder .
мой вопрос:
Теперь я не буду удивляться, и когда это было лучше, а не в том, что это будет лучше, и когда это будет лучше, и когда это будет лучше, а не в конкретная часть этого? В задаче, упомянутой выше, я только что менял видимость небольшой части владельца просмотра, но все было воссоздано, что, я полагаю, намного хуже?>

Подробнее здесь: https://stackoverflow.com/questions/663 ... o-recreate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»