Home / Desarrollo Android / Android Arsenal – Ver adaptadores

Android Arsenal – Ver adaptadores

Se puede usar una biblioteca súper simple para insertar elementos entre los elementos de RecyclerView.

Repositorio

Agregue esto a su archivo raíz build.gradle ( no ) build.gradle archivo):

  allprojects 

 {
repositorio {
 .. 
.
maven {url   " https://jitpack.io " 

 }
}
}

Dependencia

Agregue esto al archivo build.gradle de su formulario:

  dependencias 
 {
 .. 
.
implementación   & # 39;  com.github.pwnjeswani: SuperAdaper: 0.1  & # 39; 


 }
}

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.

.

About AndroidEditor

Check Also

El arsenal de Android – Animaciones

El comportamiento para hacer que una vista se expanda desde la esquina Uso El uso …

Deja un comentario

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