Funcionalidad Pantalla Eliminar
This commit is contained in:
parent
77ba869d72
commit
0280d87198
|
@ -0,0 +1 @@
|
|||
MedicalHealth
|
|
@ -1,5 +1,6 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
|
@ -23,6 +24,8 @@ class AgregarActivity : AppCompatActivity() {
|
|||
|
||||
binding.btnConfirmar.setOnClickListener {
|
||||
agregarPaciente()
|
||||
val intent = Intent(this@AgregarActivity, EliminarActivity::class.java)
|
||||
startActivity(intent)
|
||||
}
|
||||
}
|
||||
private fun agregarPaciente() {
|
||||
|
|
|
@ -19,14 +19,14 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
|
|||
private const val COLUMN_TELEFONO="Telefono"
|
||||
private const val COLUMN_CONSULTORIO="Consultorio"
|
||||
private const val COLUMN_CONTRASENA="Contrasena"
|
||||
private const val TABLE_PACIENTES = "Pacientes"
|
||||
private const val COLUMN_ID_PACIENTE = "IdPaciente"
|
||||
private const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente"
|
||||
private const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente"
|
||||
private const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente"
|
||||
private const val COLUMN_EDAD = "Edad"
|
||||
private const val COLUMN_SEXO = "Sexo"
|
||||
private const val COLUMN_DOMICILIO = "Domicilio"
|
||||
const val TABLE_PACIENTES = "Pacientes"
|
||||
const val COLUMN_ID_PACIENTE = "IdPaciente"
|
||||
const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente"
|
||||
const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente"
|
||||
const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente"
|
||||
const val COLUMN_EDAD = "Edad"
|
||||
const val COLUMN_SEXO = "Sexo"
|
||||
const val COLUMN_DOMICILIO = "Domicilio"
|
||||
}
|
||||
@SuppressLint("SuspiciousIndentation")
|
||||
override fun onCreate(db: SQLiteDatabase?) {
|
||||
|
@ -95,12 +95,4 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
|
|||
return isValid
|
||||
}
|
||||
|
||||
fun eliminarPaciente(paciente: Paciente) {
|
||||
val db = writableDatabase
|
||||
val selection = "$COLUMN_ID_PACIENTE = ?"
|
||||
val selectionArgs = arrayOf(paciente.id.toString())
|
||||
db.delete(TABLE_PACIENTES, selection, selectionArgs)
|
||||
db.close()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.R
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Toast
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
|
@ -12,11 +17,64 @@ class EliminarActivity : AppCompatActivity() {
|
|||
|
||||
private lateinit var binding: ActivityEliminarPacienteBinding
|
||||
private lateinit var db: DoctorDataBaseHelper
|
||||
private lateinit var pacientesList: MutableList<Paciente>
|
||||
private var pacienteSeleccionado: Paciente? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
binding = ActivityEliminarPacienteBinding.inflate(layoutInflater)
|
||||
val view = binding.root
|
||||
setContentView(view)
|
||||
db = DoctorDataBaseHelper(this@EliminarActivity)
|
||||
|
||||
cargarListaPacientes()
|
||||
|
||||
binding.listaPacientes.setOnItemClickListener { _, _, position, _ ->
|
||||
pacienteSeleccionado = pacientesList[position]
|
||||
}
|
||||
|
||||
binding.btnEliminarPaciente.setOnClickListener {
|
||||
pacienteSeleccionado?.let {
|
||||
eliminarPaciente(it)
|
||||
pacienteSeleccionado = null
|
||||
cargarListaPacientes()
|
||||
} ?: run {
|
||||
Toast.makeText(this, "Por favor, selecciona un paciente para eliminar.", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun cargarListaPacientes() {
|
||||
pacientesList = obtenerListaPacientes()
|
||||
|
||||
// Crear un adaptador personalizado y configurarlo en el ListView
|
||||
val adapter = PacienteAdapter(this, pacientesList)
|
||||
binding.listaPacientes.adapter = adapter
|
||||
}
|
||||
|
||||
@SuppressLint("Range")
|
||||
private fun obtenerListaPacientes(): MutableList<Paciente> {
|
||||
val pacientes = mutableListOf<Paciente>()
|
||||
val db = db.readableDatabase
|
||||
val cursor = db.rawQuery("SELECT * FROM ${DoctorDataBaseHelper.TABLE_PACIENTES}", null)
|
||||
while (cursor.moveToNext()) {
|
||||
val id = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_ID_PACIENTE))
|
||||
val nombre = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_NOMBRE_PACIENTE))
|
||||
val apellidoPaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_PATERNO_PACIENTE))
|
||||
val apellidoMaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_MATERNO_PACIENTE))
|
||||
val edad = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_EDAD))
|
||||
val sexo = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_SEXO))
|
||||
val domicilio = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_DOMICILIO))
|
||||
val paciente = Paciente(id, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
|
||||
pacientes.add(paciente)
|
||||
}
|
||||
cursor.close()
|
||||
return pacientes
|
||||
}
|
||||
|
||||
private fun eliminarPaciente(paciente: Paciente) {
|
||||
val db = db.writableDatabase
|
||||
db.delete(DoctorDataBaseHelper.TABLE_PACIENTES, "${DoctorDataBaseHelper.COLUMN_ID_PACIENTE} = ?", arrayOf(paciente.id.toString()))
|
||||
db.close()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
data class Paciente(
|
||||
var id: Int, // Este campo representa el ID autoincrementable en la base de datos
|
||||
var nombre: String,
|
||||
var apellidoPaterno: String,
|
||||
var apellidoMaterno: String,
|
||||
var edad: Int,
|
||||
var sexo: String,
|
||||
var domicilio: String
|
||||
)
|
|
@ -0,0 +1,30 @@
|
|||
package com.terratenientes.medicalhealth
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.TextView
|
||||
|
||||
class PacienteAdapter(context: Context, private val pacientes: List<Paciente>) : ArrayAdapter<Paciente>(context, 0, pacientes) {
|
||||
|
||||
override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
|
||||
var itemView = convertView
|
||||
if (itemView == null) {
|
||||
itemView = LayoutInflater.from(context).inflate(android.R.layout.simple_list_item_2, parent, false)
|
||||
}
|
||||
|
||||
val paciente = pacientes[position]
|
||||
|
||||
// Buscar los TextView dentro del layout simple_list_item_2
|
||||
val text1 = itemView?.findViewById<TextView>(android.R.id.text1)
|
||||
val text2 = itemView?.findViewById<TextView>(android.R.id.text2)
|
||||
|
||||
// Establecer el nombre y el ID del paciente en los TextView
|
||||
text1?.text = "${paciente.nombre} ${paciente.apellidoPaterno} ${paciente.apellidoMaterno}"
|
||||
text2?.text = "ID: ${paciente.id}"
|
||||
|
||||
return itemView!!
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Estado seleccionado -->
|
||||
<item android:state_pressed="true" android:drawable="@android:color/darker_gray" />
|
||||
<item android:state_selected="true" android:drawable="@android:color/darker_gray" />
|
||||
<!-- Estado predeterminado -->
|
||||
<item android:drawable="@android:color/transparent" />
|
||||
</selector>
|
|
@ -24,7 +24,8 @@
|
|||
android:layout_height="195dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="5dp" />
|
||||
android:layout_marginEnd="5dp"
|
||||
android:listSelector="@drawable/list_item_selected_background"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_eliminar_paciente"
|
||||
|
|
Loading…
Reference in New Issue