Как перетасовать порядок элементов при использовании ConcatAdapter?

#android-studio #kotlin #android-recyclerview

Вопрос:

Я собираюсь использовать два типа представлений в recyclerview .

Каждый элемент может быть добавлен или удален.

Вместо того, чтобы проверять тип представления с помощью одного адаптера, я знаю, что это a ConcatAdapter , и пытаюсь его использовать.

Кстати, есть ли способ оформить заказ так, как я хочу при использовании ConcatAdapter ?

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

ConcatAdapter В коде, который я нашел, удалось найти только способ перечислить элементы, A а затем перечислить элементы B .

бывший)

ААААА ББББББ

чего я хочу

АБАББАБББББББББА

Код, который я изучал…

 val A_Items = ArrayListlt;RoutineModelgt;() A_Items.add(aModel("e","eqw","ewqe")) A_Items.add(aModel("e","eqw","ewqe")) A_Items.add(aModel("e","eqw","ewqe"))  val B_Items = arrayListOflt;bModelgt;() B_Items.add(bModel()) B_Items.add(bModel()) B_Items.add(bModel()) B_Items.add(bModel())  A_adapter = AAdapter(A_Items) B_adapter = BAdapter(B_Items) concatAdapter = ConcatAdapter(A_adapter, B_adapter)  

Комментарии:

1. ConcatAdapter не создан для этого, его единственная цель-последовательно комбинировать адаптеры. Здесь вы должны использовать типы представлений.

2. Объединение (по крайней мере, в программировании) обычно означает добавление одной вещи в конец другой вещи — так что в этом случае все ваши вещи в адаптере A, а затем все B

3. Кажется, вам лучше попробовать другой подход, вместо этого перетасуйте элемент в ConcatAdapter (который не предназначен для обработки перетасовки)`, я думаю, вам следует перетасовать элемент в объекте списка

4. Если вы хотите чередовать элементы, то no. ConcatAdapter в основном предназначен для размещения двух списков в одном и том же RecyclerView , один за другим. Похоже, вы хотите отобразить один список, содержащий два разных типа элементов, что означает, что один адаптер обрабатывает разные типы представлений, как вы и пытались избежать. Прости!

5. ссылка, которую вы предоставляете, является расширяемым представлением переработчика, похоже, не имеет отношения к вашему делу. Я думаю, что вместо этого вы можете использовать один список, скорректировав свой список, если вы ожидаете его перетасовать