О проблеме вы можете использовать ReclyclerView.isComputingLayout (), чтобы проверять, когда RecyclerView все еще вычисляет макет.
Но, поскольку Picasso загружает изображения асинхронно, он создает бесконечный цикл.Когда триггеры Picasso.onSuccess notifyDataSetChanged будут вызываться снова onBindViewHolder и т. Д.
Единственное решение будет, если вы сможете отслеживать, сколько изображений должно быть загружено, или использовать семафор, если вы знаете, какмногие записи должны быть обработаны, но если количество элементов в списке не определено, это будет непросто, так как onBindViewHolder будет вызываться каждый раз, когда пользователь прокручивает RecyclerView.
Итак, общая проблема заключается в том, что Пикассо.onSuccess вызовет notifyDataSetChanged, а notifyDataSetChanged снова вызовет onBindViewHolder, который снова вызовет Пикассо.