https://www.canva.com/design/DAGLVnG5u5o/xwUa4p7FjYR1Etr-dz5Ayw/view
Declarar variables para los componentes de la vista
class MainActivity : AppCompatActivity() {
private lateinit var btnReload: ImageView
private lateinit var btnAdd: ImageView
private lateinit var btnClose: ImageView
private lateinit var recyclerViewStudent: RecyclerView
private lateinit var emptyResult: TextView
private lateinit var scrollView: ScrollView
private lateinit var dbHelper: DatabaseHelper
override fun onCreate(savedInstanceState: Bundle?) {
***
init()
bindRecyclerViewStudent()
}
override fun onResume() {
super.onResume()
bindRecyclerViewStudent()
}
private fun bindRecyclerViewStudent() {***}
private fun init(){***}
}
Inicializar las variables de componentes de la vista
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
override fun onResume() {***}
private fun bindRecyclerViewStudent() {***}
private fun init(){
btnReload = findViewById(R.id.imageView_refreshListadoEstiantes)
btnAdd = findViewById(R.id.imageView_addEstudiante)
btnClose = findViewById(R.id.imageView_closeMainActivity)
recyclerViewStudent = findViewById(R.id.recyclerView_estudiantes)
emptyResult = findViewById(R.id.textView_emptyResult)
scrollView = findViewById(R.id.scrollView_estudiantes)
dbHelper = DatabaseHelper(this)
btnReload.setOnClickListener {***}
btnAdd.setOnClickListener {***}
btnClose.setOnClickListener {***}
}
}
Declarar on Click Listener al botón y mostrar mensaje Toast
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
private fun init(){
***
btnReload.setOnClickListener {
onResume()
Toast.makeText(this, "Actualizado", Toast.LENGTH_SHORT).show()
}
}
}
Declarar on Click Listener al botón y e invocar una nueva actividad
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
private fun init(){
***
btnAdd.setOnClickListener {
val intent = Intent(this, RegisterActivity::class.java)
startActivity(intent)
}
}
}
Declarar on Click Listener al botón y mostrar mensaje de confimación
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
private fun init(){
***
btnClose.setOnClickListener {
val dialog = AlertDialog.Builder(this)
dialog.setTitle("Cerrar Aplicación")
dialog.setMessage("¿Desea cerrar la aplicación?")
dialog.setPositiveButton("Si") { _, _ -> finish()}
dialog.setNegativeButton("No") { _, _ -> }
dialog.show()
}
}
}
Realizar binding al recycler view
Requisitos
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
private fun bindRecyclerViewStudent() {
val layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
recyclerViewStudent.layoutManager = layoutManager
recyclerViewStudent.setHasFixedSize(true)
val students = dbHelper.students()
val adapter = StudentAdapter(students)
***
recyclerViewStudent.adapter = adapter
}
}
Mostrar el componente empyResult en caso de que esté vacía la lista de objetos
Requisitos
class MainActivity : AppCompatActivity() {
***
override fun onCreate(savedInstanceState: Bundle?) {***}
private fun bindRecyclerViewStudent() {
***
if (dbHelper.students().isEmpty()) {
emptyResult.visibility = View.VISIBLE
scrollView.visibility = View.GONE
} else {
emptyResult.visibility = View.GONE
scrollView.visibility = View.VISIBLE
}
***
}
}
Recuerda:
Requisitos
class Student(var code: String, var name: String, var lastName:
String, var dni: Int, var district: String, var address: String, var sex:
String, var profession: String): Serializable {
}