Estoy actualizando un elemento en un ListView mediante el método getContentResolver().update()
, y me gustaría incrementar el campo 'views' a través de un ContentValue, pero no puedo entender si esto es posible .Android: Incremente el campo DB mediante ContentValues
Podría hacer esto con raw SQL SET views = views + 1
, pero al configurar un ContentValue, como cv.put("views", "views + 1")
, los resultados en el campo de vistas se establecen explícitamente en "vistas + 1" en lugar de un número.
¿Alguna sugerencia sobre esto, o me queda un enfoque más manual?
Gracias,
Paul
ACTUALIZACIÓN:
he vuelto a usar SQL prima para realizar la actualización por ahora, y luego notificar manualmente el CursorAdapter subyacente del cambio a través de getContentResolver().notifyChange()
. Sería genial si pudiera encontrar una forma de hacerlo directamente a través del getContentResolver().update()
, así que si alguien tiene una manera de hacerlo, por favor publíquelo aquí.
¿Cómo sabría el valor de currentCount ... no es ese el punto de dejar que el comando de actualización de SQL maneje el incremento? –
tendrías que obtenerlo de antemano :( – binnyb
Ah ... bueno, eso no está aumentando, lamentablemente. Los activadores no funcionarán, ya que el incremento está relacionado con una acción de UI del usuario, no un cambio en la tabla. Gracias de todos modos. –