es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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)
Tags:  , ,

Answer

  1. Avatar for 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 nuevo ConcatAdapter intercalando A_adapter y B_adapter en el orden deseado, de la siguiente manera:

    val AB_adapter = ConcatAdapter(
        A_adapter,
        B_adapter,
        A_adapter,
        B_adapter,
        B_adapter,
        A_adapter,
        B_adapter,
        B_adapter,
        B_adapter,
        A_adapter
    )
    

    Aquí, A_adapter y B_adapter están intercalados en el orden ABABBBABBBABBBBBBBA, 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.

Comments are closed.