package com.example.firstapp.activity
|
|
import android.content.Intent
|
import android.os.Bundle
|
import androidx.appcompat.app.AppCompatActivity
|
import androidx.lifecycle.ViewModelProvider
|
import androidx.lifecycle.lifecycleScope
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import com.example.firstapp.adapter.ReminderRecordAdapter
|
import com.example.firstapp.database.entity.ReminderRecord
|
import com.example.firstapp.databinding.ActivityReminderListBinding
|
import com.example.firstapp.ui.dashboard.ReminderRecordViewModel
|
import kotlinx.coroutines.launch
|
|
class ReminderListActivity : AppCompatActivity() {
|
private lateinit var binding: ActivityReminderListBinding
|
private lateinit var viewModel: ReminderRecordViewModel
|
private lateinit var adapter: ReminderRecordAdapter
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
binding = ActivityReminderListBinding.inflate(layoutInflater)
|
setContentView(binding.root)
|
|
viewModel = ViewModelProvider(this)[ReminderRecordViewModel::class.java]
|
|
setupRecyclerView()
|
setupClickListeners()
|
observeRecords()
|
}
|
|
private fun setupRecyclerView() {
|
adapter = ReminderRecordAdapter { record ->
|
// 点击提醒记录时,标记为已读
|
lifecycleScope.launch {
|
viewModel.updateRecordStatus(record.id, ReminderRecord.STATUS_READ)
|
}
|
}
|
binding.reminderRecyclerView.apply {
|
layoutManager = LinearLayoutManager(this@ReminderListActivity)
|
adapter = this@ReminderListActivity.adapter
|
}
|
}
|
|
private fun setupClickListeners() {
|
binding.addReminderButton.setOnClickListener {
|
startActivity(Intent(this, ReminderSettingsActivity::class.java))
|
}
|
}
|
|
private fun observeRecords() {
|
viewModel.reminderRecords.observe(this) { records ->
|
adapter.submitList(records)
|
}
|
}
|
}
|