Galera, o meu update não está funcionando.
Não é apresentado nenhum erro, o programa roda normalmente, no adapter o objeto é modificado como se espera. O único problema está no Update que não atualiza o objeto no banco de dados.
Aguém tem alguma dica do que possa estar acontecendo?
No DaoRoom o ódigo está assim:
@Update
fun editar(alimento: Alimento)
E minha classe é essa:
@Entity
class Alimento(
@PrimaryKey(autoGenerate = true)
var id: Long = 0,
val nome: String,
val kcal: BigDecimal = BigDecimal.ZERO,
val gordura: BigDecimal = BigDecimal.ZERO,
val proteina: BigDecimal = BigDecimal.ZERO,
val carboidrato: BigDecimal = BigDecimal.ZERO,
val fibra: BigDecimal = BigDecimal.ZERO
) {
override fun toString(): String {
return nome
}
}
Outra coisa, se eu uso a anotação abaixo, ele matem o objeto atual e adiciona um outro objeto com as edições feitas. Ou seja, em vez de tomar lugar do anterior ele só está inserindo um novo atributo a base de dados
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun editar(alimento: Alimento)