操作
機能 #190
未完了検温記録(JetPack Kotlin)に履歴の選択削除を追加する
開始日:
2020/11/22
期日:
進捗率:
80%
予定工数:
操作
80%
ItemTouchHelper を使ってドラッグ&ドロップ、スワイプの操作に対する実装を記述する(次リンク参照)。
この実装は表示の変更のみなので、データベースから削除する実装を追加する必要がある。
スワイプ操作時は、ViewHolderを引数に取るが、ViewHolderは削除したアイテムを識別する情報が不足しているので何か実装を補う必要がある。
fun getTemperatureAtPosition(position: Int): Temperature {
return getItem(position)
}
val temperature = adapter.getTemperatureAtPosition(position)
temperatureViewModel.deleteTemperature(temperature)
fun deleteTemperature(temperature: Temperature) {
viewModelScope.launch {
temperatureRepository.delete(temperature)
}
}
suspend fun delete(temperature: Temperature) {
database.temperatureDao.delete(
TemperatureEntity(
id = temperature.id, measuredAt = temperature.measuredAt, measurement = temperature.measurement
)
)
}
@Delete
suspend fun delete(temperature: TemperatureEntity)