Android Arsenal – Ver adaptadores

PASO 2 ->
  Queremos tener pancartas publicitarias (o cualquier otra pancarta) en posiciones específicas en el adaptador de usuario,
para esto estamos agregando objetos ficticios (ver clase DummyObject)
que acepta itemViewType y position como parámetros en el constructor
  anular    diversión    createOtherItemList  () {
 var  dummyObject  =    DummyObject  ( 1   1 )
 var  dummyObject2  =    DummyObject  ( 1   3 )
 Súper  .otherViewPositions.add (dummyObject)
 Súper  .otherViewPositions.add (dummyObject2)
}
PASO 3 ->
  Después de agregar los objetos ficticios, debemos reemplazar la función getItemViewType
   anular    diversión    getItemViewType  ( posición :    Int ) :     [
 val  itemViewType  =    super  .getItemViewType (posición)
 devuelve    if  (itemViewType ! =    -   1 ) {
  //  es un objeto ficticio que luego devuelve el tipo de visualización real 
  //  que se mencionó durante la creación de otra lista de artículos 
itemViewType
}  más  {
  //  es el elemento de su lista (es decir, elemento de usuario) y luego devuelve el tipo de visualización 0 (posición del usuario) 
              0 
}
}
PASO 4 ->
  Aquí está createViewHolder e
Código de la función onBindViewHolder como referencia.
   anular    diversión    onCreateViewHolder  ( padre :    ViewGroup   viewType [196590450101] Int [196590454501]]    RecyclerView .  ViewHolder  {
 cuando  (viewType) {
 0    - >  {
 val  vista  =    LayoutInflater  .from (parent.context) .inflate ( R  .layout.user_item_view, parent, ]  )
 return    UserViewHolder  (ver)

}
 1    - >  {
 val  vista  =    LayoutInflater  .from (parent.context) .inflate ( R  .layout.ad_item_view, parent, ]  )
 return    AdViewHolder  (ver)
}
}
}

 anular    diversión    onBindViewHolder  ( titular :    RecyclerView .  ViewHolder : 199090] 6590] Int )
 cuando  (holder.itemViewType) {
 0    - >  {
 val  poseedor  =  titular  como    UserViewHolder 
                  var  usuario  =    super [19459256]. [19659256]. 19659016] usuario 
holderr.tv_user_id.text  =  user.id.toString ()
holderr.tv_user_name.text  =  nombre de usuario
holderr.tv_user_phone.text  =  user.phoneNo.toString ()

}
 1    - >  {
  //  escribe tu lógica aquí 
}
}
}
PASO 5 -> Use este adaptador en su actividad / fragmento
  var  userAdapter  =    UserAdapter  ( this )
userAdapter.setUserList (usersList)
 var  llm  =    LinearLayoutManager  ( this [19654570] RecyclerView .  192790190   ]
rv_useres.layoutManager  =  llm
rv_useres.adapter  =  userAdapter 

En nuestra empresa, teníamos requisitos frecuentes para insertar elementos en varias listas. Anteriormente estábamos realizando todas las tareas en el adaptador en sí, pero esto se estaba volviendo frustrante y también un código propenso a errores que requiere largas horas para resolverse y este ciclo se repitió cada semana. Para resolver este problema, Mr.CTO Avneesh Kumar ha sembrado la idea de crear SuperAdapter.

Bifurca el repositorio y contribuye utilizando solicitudes de extracción.

Posibles contribuciones, grandes o pequeñas, funcionalidades principales, correcciones de errores, traducciones de idiomas adicionales, pruebas de unidades / integración son bienvenidas y apreciadas, pero serán examinadas y discutidas en detalle.

Copyright 2019 pwnjeswani

Licenciado bajo una licencia Apache, Versión 2.0 (la "Licencia"); no es posible usar este archivo excepto de acuerdo con la Licencia. Se puede obtener una copia de la Licencia en la dirección

     http://www.apache.org/licenses/LICENSE-2.0

A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS O CONDICIONES DE NINGÚN TIPO, explícitas o implícitas. Consulte la Licencia para conocer el idioma específico que rige las autorizaciones y limitaciones de la Licencia.

.

Compruebe también

Nuevos gadgets de Android y wearables en el Mobile World Congress + ¡Sintoniza un nuevo episodio de #TheAndroidShow la próxima semana!

Publicado por Anirudh Dewani, Director de Relaciones con Desarrolladores de Android Hoy, en el Mobile …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *