entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Problemas al abrir actividad en BaseAdapter

Tengo lo siguiente en el botón:

botonBorrar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new eliminarIdPedido(CustomListViewAdapterCarrito.this).execute(item.EmailUsuario,Id_Producto_String);
            items.remove(position);
            notifyDataSetChanged();
            Intent intent = new Intent(context,Carrito.class);
            intent.putExtra("user", item.EmailUsuario);
            context.startActivity(intent);
        }
    });

Esto es lo que añadí al constructor para poder llamar a la actividad:

private Context context;

public CustomListViewAdapterCarrito(Activity context,
        List<ListViewItem> items) {
    super();

    this.context = context;
    this.items = items;
    this.inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

El problema es cuando elimino de dicha fila el item y me recarga de nuevo la actividad me sigue apareciendo el mismo item, aunque lo elimina de la BD correctamente.
¿Qué problema puedo estar teniendo?

1 Respuesta

1voto

danielreales7 Puntos5380

He conseguido sacar la solución, hice un par de cambios.

Lo primero es introducir la siguiente línea en el constructor:

public CustomListViewAdapterCarrito(Activity context,
        List<ListViewItem> items) {
    super();
    /...
    this.notifyDataSetChanged();
    /...
}

Y después cambiar el orden del botón de eliminar, queda de la siguiente forma:

botonBorrar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            items.remove(position);
            notifyDataSetChanged();
            Intent intent = new Intent(context,Carrito.class);
            intent.putExtra("user", item.EmailUsuario);
            context.startActivity(intent);
            new eliminarIdPedido(CustomListViewAdapterCarrito.this).execute(item.EmailUsuario,Id_Producto_String);
        }
    });

Tengo que eliminar después de abrir la actividad, para que no me vuelve aparecer el item borrado.
Espero que sea de ayuda para otros usuarios.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta