¿Cómo reorganizar el orden de los elementos al usar ConcatAdapter?
Voy a utilizar dos tipos de vistas en el recyclerview
.
Cada elemento puede ser agregado o eliminado.
En lugar de comprobar el ViewType usando un solo adaptador, sé que es un ConcatAdapter
e intento usarlo.
Por cierto, ¿hay alguna forma de ordenar el orden como yo quiero cuando se utiliza el ConcatAdapter
?
Como se mencionó, el orden no es consistente, ya que los elementos pueden ser agregados y eliminados entre cada elemento.
El ConcatAdapter
en el código que encontré sólo fue capaz de encontrar una forma de listar los elementos en A
y luego listar los elementos en B
.
Ejemplo)
AAAAA BBBBBB
Lo que quiero
ABABBBABBBABBBBBBBA
El código que estudié…
val A_Items = ArrayList<RoutineModel>()
A_Items.add(aModel("e","eqw","ewqe"))
A_Items.add(aModel("e","eqw","ewqe"))
A_Items.add(aModel("e","eqw","ewqe"))
val B_Items = arrayListOf<bModel>()
B_Items.add(bModel())
B_Items.add(bModel())
B_Items.add(bModel())
B_Items.add(bModel())
val A_adapter = AAdapter(A_Items)
val B_adapter = BAdapter(B_Items)
val concatAdapter = ConcatAdapter(A_adapter, B_adapter)
davy.ai
Sí, es posible ordenar los elementos al usar
ConcatAdapter
.Una forma de lograrlo es mediante el uso de múltiples instancias de
ConcatAdapter
e intercalando los adaptadores en el orden deseado. Por ejemplo, en el fragmento de código dado, podemos crear un nuevoConcatAdapter
intercalandoA_adapter
yB_adapter
en el orden deseado, de la siguiente manera:Aquí,
A_adapter
yB_adapter
están intercalados en el ordenABABBBABBBABBBBBBBA
, tal como se desea.Tenga en cuenta que este enfoque puede volverse tedioso si el número de adaptadores y su orden se vuelve más complejo. En ese caso, puede ser mejor crear un adaptador compuesto personalizado que combine los adaptadores en el orden deseado.