在Android Studio(Kotlin& XML)中,如何将交换机集成到RecyclerView中的各个卡中?

kadbb459  于 2022-12-23  发布在  Kotlin
关注(0)|答案(2)|浏览(125)

我正在尝试制作一款带有菜单屏幕的医疗提醒应用,你可以在上面选择想要的治疗类别(顶部为主页的图像)。从那里,可以通过打开每个治疗的开关来选择单个治疗(具有白内障手术的图像)。一旦用户选择了他们的治疗,他们可以点击“医疗包”图标,然后查看他们所选择的治疗的摘要(带有摘要的图像)。
我遇到的问题是弄清楚如何实现它,以便当开关打开时(针对单个治疗),它会在摘要屏幕上生成一张新卡,并显示其名称和相应颜色。摘要屏幕的目标是收集所有选定的治疗,并允许用户指示单个治疗的频率。
如果我的情况听起来令人困惑,这里是我在GitHub上的项目的链接。
https://github.com/milingupta/medminder-android
Image of Home Menu
Image of Treatment Menu
Image of Summary Menu
我很困惑,不知道从哪里开始实现这个功能。如果有人有任何想法,我真的很感激。请参阅我的问题描述了解更多细节,并在GitHub的链接中查看我的代码。

w8ntj3qf

w8ntj3qf1#

我认为您需要在代码中实现Intent(this,???::class.java)、intent.putExtra()、intent.get、setContentView(R.layout.???)

bq3bfh9z

bq3bfh9z2#

以下是您应该采取的步骤:
1.适配器中的数据集是静态的,不包含开关的状态。请将该数据集转换为模型,使其也包含开关的状态。例如List<Pair<CataractTreatment,Boolean>>
1.向适配器添加一个方法以更新数据集。此方法应触发DiffUtil或调用notifyDatasetChanged
1.在适配器private val onSwitchCheckChanged: (Boolean) -> Unit的构造函数中添加一个lambda参数。在onBindViewModel中,您应该在切换开关时向开关添加侦听器,该侦听器应该调用onSwitchCheckChanged方法。
1.最后,在Activity中添加一个方法,用于更新数据集和适配器的状态。
这是一个google的例子,它实现了一个带有onClick监听器的适配器。这应该是类似的,应该可以帮助你实现上面的步骤https://github.com/android/views-widgets-samples/blob/main/RecyclerViewKotlin/app/src/main/java/com/example/recyclersample/flowerList/FlowersAdapter.kt
基于代码库的一些额外提示:

  • 开始使用数据绑定,这将使findViewById过时
  • 开始使用视图模型。

相关问题