Inicio » Cursos » Carrito de Compra en Kotlin - Api Laravel

Curso Carrito de Compra en Kotlin - Api Laravel

Capitulo 16 ➜ DecreaseItem - Disminuir un item

DecreaseItem Disminuir la Cantidad de un Producto en el Carrito de Compras

En esta lección, aprenderás a implementar la funcionalidad para disminuir la cantidad de un producto en el carrito de compras de una aplicación Android. Veremos cómo gestionar la disminución de cantidad y cómo eliminar un producto del carrito si su cantidad llega a cero.

En esta lección, nos enfocaremos en la implementación de la funcionalidad para que los usuarios puedan disminuir la cantidad de un producto en su carrito de compras. Si la cantidad de un producto llega a cero tras la disminución, también eliminaremos ese producto del carrito.

1. Interacción del Usuario para Disminuir la Cantidad

Para permitir que los usuarios disminuyan la cantidad de un producto, vamos a agregar un botón de disminución en la vista de cada producto en el carrito. Al hacer clic en este botón, se ejecutará el siguiente código en el OnClickListener:


 

kotlin

btnDecrease?.setOnClickListener {
    dBmanager.updateQuantity(id!!, cantidad!! - 1)  // Actualiza la cantidad
    if (cantidad - 1 == 0) {
        dBmanager.deleteItem(id)  // Elimina el producto si la cantidad llega a cero
    }
    val cursor = dBmanager.getCart()  // Obtiene el cursor actualizado
    cursor!!.moveToFirst()  // Mueve el cursor al primer elemento
    adapter.changeCursor(cursor)  // Cambia el cursor en el adaptador para actualizar la vista
} 

2. Actualización de la Cantidad

Dentro del OnClickListener, se llama a updateQuantity() de la clase DBmanager para disminuir la cantidad del producto. Utilizamos cantidad!! - 1 para restar uno de la cantidad actual. Este método se encarga de actualizar la base de datos con la nueva cantidad.

3. Eliminación de Productos

Después de actualizar la cantidad, se verifica si la nueva cantidad es cero. Si es así, se llama a deleteItem(id) para eliminar el producto del carrito. Esto asegura que no queden productos con cantidad cero en la base de datos.


 

kotlin

if (cantidad - 1 == 0) {
    dBmanager.deleteItem(id)  // Elimina el producto si la cantidad llega a cero
}

4. Actualización de la Vista

Finalmente, obtenemos un nuevo cursor de la base de datos con dBmanager.getCart() y lo asignamos al adaptador usando adapter.changeCursor(cursor). Esto actualizará la interfaz para reflejar la cantidad actualizada de productos en el carrito.

5. Manejo de Errores

Es recomendable incluir verificaciones de errores para asegurarse de que la cantidad no se convierta en un número negativo antes de realizar la actualización. Esto se puede manejar fácilmente con una condición:


 

kotlin

if (cantidad > 1) {
    dBmanager.updateQuantity(id!!, cantidad!! - 1)
} else {
    dBmanager.deleteItem(id)
}

Conclusión

Con esta implementación, los usuarios pueden disminuir la cantidad de un producto en su carrito de compras y eliminar el producto si la cantidad se reduce a cero. Esta funcionalidad mejora la experiencia del usuario y asegura que el carrito siempre refleje el estado actual de los productos seleccionados.

 


224 visitas

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2025