No código-fonte há notas do que foi adicionado ao projeto e que se encontra em destaque (com uma cor diferente) nos comentários marcados com o trecho // FIXME: para que você possa ler e interpretar o código :D
Criar sua interface para escutar o click e o long-click no ViewHolder da lista de registros
interface OnListClickListener { fun onClick(id: Int, type: String) fun onLongClick(position: Int, calc: Calc) }
os métodos de evento no textView da lista de registros: setOnLongClickListener e setOnClickListener
CalcDao com edição e exclusão
@Delete fun delete(calc: Calc): Int @Update fun update(calc: Calc)
Remover elementos da lista e do adapter da lista através da posição que virá ao clicar no textView do ViewHolder
result.removeAt(position) adapter.notifyItemRemoved(position)
Verificar no formulário se é uma criação ou edição:
val updateId = intent.extras?.getInt("updateId") if (updateId != null) { dao.update(Calc(id = updateId, type = "imc", res = result)) } else { dao.insert(Calc(type = "imc", res = result)) }