Vous êtes sur la page 1sur 5

Consulta / Deber

Ramos Bravo Wilson Gabriel

Tema: Recycler view

Objetivos
 Entender cómo utilizar un recycler view

Desarrollo

Desarrollar una interfaz del siguiente modelo [1]:

Usuario

 Cedula
 Nombre
 Apellido
 Descripción
 Fecha nacimiento
 Like

2018-A – Aplicaciones Móviles – GR1 – Wilson Ramos – Escuela Politécnica Nacional


2018-A – Aplicaciones Móviles – GR1 – Wilson Ramos – Escuela Politécnica Nacional
Código:

Layout Manager

val layoutManager = LinearLayoutManager(this)


personas.addAll(crearDatosPrueba())
val adaptador = PersonasAdaptador(personas)
recycler_view.layoutManager = layoutManager
recycler_view.itemAnimator = DefaultItemAnimator()
recycler_view.adapter = adaptador
personas.addAll(crearDatosPrueba())
adaptador.notifyDataSetChanged()
Log.i("vista-principal", "Cambio personas ${personas.size}")
}

Clase Adaptador de Personas

class PersonasAdaptador(private val listaPersonas: List<Persona>) :


RecyclerView.Adapter<PersonasAdaptador.MyViewHolder>() {

inner class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {

var nombre: TextView


var apellido: TextView
var cedula: TextView
var like: Button
var detail: Button
lateinit var persona: Persona

init {
nombre = view.findViewById(R.id.txtv_nombre) as TextView
apellido = view.findViewById(R.id.txtv_apellido) as TextView
cedula = view.findViewById(R.id.txtv_cedula) as TextView
like = view.findViewById(R.id.boton_like) as Button
detail = view.findViewById(R.id.boton_detalle) as Button
val left = apellido.paddingLeft
val top = apellido.paddingTop
Log.i("vista-principal", "Hacia la izquierda es $left y hacia
arriba es $top")

val layout = view.findViewById(R.id.relative_layout) as


RelativeLayout
layout.setOnClickListener({ v ->
val nombreActual = v.findViewById(R.id.txtv_nombre) as
TextView

Log.i("vista-principal", "El nombre actual es:


${nombreActual.text}")
nombreActual.text = "Otro texto"

})

like.setOnClickListener({v ->
val nombreActual = v.findViewById(R.id.boton_like) as Button

2018-A – Aplicaciones Móviles – GR1 – Wilson Ramos – Escuela Politécnica Nacional


Log.i("vista-principal", "El nombre actual es:
${nombreActual.text}")
if (nombreActual.text == "LIKE"){
nombreActual.text = "DISLIKE"
nombreActual.setBackgroundColor(Color.RED)

}
else{
nombreActual.text = "LIKE"
nombreActual.setBackgroundColor(Color.BLUE)

})

detail.setOnClickListener { v ->

val intent = Intent(v.context, Detail::class.java)


intent.putExtra("nombre","${nombre.text}")
intent.putExtra("apellido", "${apellido.text}")
intent.putExtra("cedula", "${cedula.text}")
intent.putExtra("like", "${like.text}")

startActivity(v.context, intent, null)

cedula.setOnClickListener { v ->
val cedulaActual = v.findViewById(R.id.txtv_cedula) as
TextView
val toast = Toast.makeText(v.context, "Hola
${cedulaActual.text}", Toast.LENGTH_LONG)
toast.show()
val intent = Intent(v.context, ActividadLayouts::class.java)
startActivity(v.context, intent, null)
}

Conclusiones
 Se entendió el uso del recycler view a través de su aplicación en android studio, utilizando para
el ejemplo usuarios y mediante la implementación de métodos de recycler view y administrador
de layouts.

Bibliografía

2018-A – Aplicaciones Móviles – GR1 – Wilson Ramos – Escuela Politécnica Nacional


[1] Android Studio, «Android Studio,» [En línea]. Available:
https://developer.android.com/guide/components/fundamentals.html. [Último acceso: 2018].

[2] Universia, «Universia,» Universia, 09 04 2018. [En línea]. Available:


http://www.universia.com.ec/estudios/epn/ingenieria-ciencias-economicas-financieras/st/172945.

[3] https://github.com/WilsonPM96/RecyclerView

2018-A – Aplicaciones Móviles – GR1 – Wilson Ramos – Escuela Politécnica Nacional

Vous aimerez peut-être aussi