【问题标题】:First Activity to Second Activity (Intent, Database and Adapter)第一个活动到第二个活动(意图、数据库和适配器)
【发布时间】:2019-12-31 19:16:36
【问题描述】:
我有一个用于显示名称和描述的第一个活动的数据库和适配器。每个列表项上都有一个按钮,可将您带到显示与该项相关的唯一图像的第二个活动。
我已经包含了从第一个活动到第二个活动的意图。
因此,在第二个活动中,我想添加与单击的项目相关的图像。
问题:
(a)我是否将图像包含在第一个活动的同一个数据库中,或者我是否需要一个单独的数据库和适配器用于第二个活动?
(b)我还需要为第一个活动中的每个项目创建一个单独的意图,因为每个项目都有一个单独的图像,它将通过将显示在第二个活动上的按钮链接到。
【问题讨论】:
标签:
android
android-intent
kotlin
android-activity
【解决方案1】:
- 您的点击侦听器将是一个通用的,因为相同的 lite 项目视图为所有适配器项目膨胀。
2.单击时,您需要通过intent将Uri字符串传递给第二个活动,并在第二个活动的oncreateview()中从getIntent()接收到图像Uri后在第二个活动中显示它。
【解决方案2】:
我想分两部分回答这个问题。
- 第 1 部分:数据库:您也应该对图像使用相同的表。您始终可以与同一个数据库和任何活动中的所有表进行对话,因此无需单独的数据库。所以名称、描述和图片在同一个活动中。
- 第 2 部分:意图
如果您处于必须在单击适配器项时添加任何操作的情况下,请始终使用回调。
当您单击任何项目时,此回调将在活动中告诉您单击了适配器中的哪个项目。
This medium blog 是一个很好的例子来证明这一点。
在此博客的代码中,适配器中有一个块,您可以在其中传递来自活动的值。它是构造函数。
RecyclerViewAdapter(RecyclerViewClickListener listener) {
mListener = listener;
}
如果你已经添加了一些代码,它会有所帮助,但我相信你的代码中也有这个构造函数,所以把这个监听器和其他数据一起添加,看看它是如何工作的。
谢谢