Funcionalidad Pantalla Eliminar
This commit is contained in:
parent
77ba869d72
commit
0280d87198
|
@ -0,0 +1 @@
|
||||||
|
MedicalHealth
|
|
@ -1,5 +1,6 @@
|
||||||
package com.terratenientes.medicalhealth
|
package com.terratenientes.medicalhealth
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
@ -23,6 +24,8 @@ class AgregarActivity : AppCompatActivity() {
|
||||||
|
|
||||||
binding.btnConfirmar.setOnClickListener {
|
binding.btnConfirmar.setOnClickListener {
|
||||||
agregarPaciente()
|
agregarPaciente()
|
||||||
|
val intent = Intent(this@AgregarActivity, EliminarActivity::class.java)
|
||||||
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private fun agregarPaciente() {
|
private fun agregarPaciente() {
|
||||||
|
|
|
@ -19,14 +19,14 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
|
||||||
private const val COLUMN_TELEFONO="Telefono"
|
private const val COLUMN_TELEFONO="Telefono"
|
||||||
private const val COLUMN_CONSULTORIO="Consultorio"
|
private const val COLUMN_CONSULTORIO="Consultorio"
|
||||||
private const val COLUMN_CONTRASENA="Contrasena"
|
private const val COLUMN_CONTRASENA="Contrasena"
|
||||||
private const val TABLE_PACIENTES = "Pacientes"
|
const val TABLE_PACIENTES = "Pacientes"
|
||||||
private const val COLUMN_ID_PACIENTE = "IdPaciente"
|
const val COLUMN_ID_PACIENTE = "IdPaciente"
|
||||||
private const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente"
|
const val COLUMN_NOMBRE_PACIENTE = "NombrePaciente"
|
||||||
private const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente"
|
const val COLUMN_APELLIDO_PATERNO_PACIENTE = "ApellidoPaternoPaciente"
|
||||||
private const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente"
|
const val COLUMN_APELLIDO_MATERNO_PACIENTE = "ApellidoMaternoPaciente"
|
||||||
private const val COLUMN_EDAD = "Edad"
|
const val COLUMN_EDAD = "Edad"
|
||||||
private const val COLUMN_SEXO = "Sexo"
|
const val COLUMN_SEXO = "Sexo"
|
||||||
private const val COLUMN_DOMICILIO = "Domicilio"
|
const val COLUMN_DOMICILIO = "Domicilio"
|
||||||
}
|
}
|
||||||
@SuppressLint("SuspiciousIndentation")
|
@SuppressLint("SuspiciousIndentation")
|
||||||
override fun onCreate(db: SQLiteDatabase?) {
|
override fun onCreate(db: SQLiteDatabase?) {
|
||||||
|
@ -95,12 +95,4 @@ class DoctorDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DATABA
|
||||||
return isValid
|
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
|
package com.terratenientes.medicalhealth
|
||||||
|
|
||||||
|
import android.R
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
|
import android.widget.ArrayAdapter
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
@ -12,11 +17,64 @@ class EliminarActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var binding: ActivityEliminarPacienteBinding
|
private lateinit var binding: ActivityEliminarPacienteBinding
|
||||||
private lateinit var db: DoctorDataBaseHelper
|
private lateinit var db: DoctorDataBaseHelper
|
||||||
|
private lateinit var pacientesList: MutableList<Paciente>
|
||||||
|
private var pacienteSeleccionado: Paciente? = null
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = ActivityEliminarPacienteBinding.inflate(layoutInflater)
|
binding = ActivityEliminarPacienteBinding.inflate(layoutInflater)
|
||||||
val view = binding.root
|
val view = binding.root
|
||||||
setContentView(view)
|
setContentView(view)
|
||||||
db = DoctorDataBaseHelper(this@EliminarActivity)
|
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_height="195dp"
|
||||||
android:layout_marginStart="20dp"
|
android:layout_marginStart="20dp"
|
||||||
android:layout_marginTop="10dp"
|
android:layout_marginTop="10dp"
|
||||||
android:layout_marginEnd="5dp" />
|
android:layout_marginEnd="5dp"
|
||||||
|
android:listSelector="@drawable/list_item_selected_background"/>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/btn_eliminar_paciente"
|
android:id="@+id/btn_eliminar_paciente"
|
||||||
|
|
Loading…
Reference in New Issue