cloudroam
2025-04-10 5fc9567cfa6b6beee4f52a9f835f304865d693e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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)
        }
    }