Android 如何将父项添加到RecyclerView?

Android 如何将父项添加到RecyclerView?,android,android-recyclerview,Android,Android Recyclerview,实际上,我不是在寻找代码,而是在寻找一些关于如何在RecyclerView中创建类似于父对象的东西的建议 我的意思是,我还有一个主要的recyclerView(屏幕截图上的灰色部分),在这里我可以添加来自其他recyclerView的项目(屏幕上没有显示),现在我可以像按下主要recyclerView中的项目一样按下“Variati”它将打开一个alertDialog,其中有另一个包含大量项目的recyclerView,因此如果我按下其中一个或多个项目,将在主recyclerView的选定项目下

实际上,我不是在寻找代码,而是在寻找一些关于如何在RecyclerView中创建类似于父对象的东西的建议

我的意思是,我还有一个主要的recyclerView(屏幕截图上的灰色部分),在这里我可以添加来自其他recyclerView的项目(屏幕上没有显示),现在我可以像按下主要recyclerView中的项目一样按下“Variati”它将打开一个alertDialog,其中有另一个包含大量项目的recyclerView,因此如果我按下其中一个或多个项目,将在主recyclerView的选定项目下添加该项目

当obv我从主回收视图中删除作为“TORTILLA”的项目时,必须从添加的“Variati”中删除父项目

下面是一个截图示例,说明我想归档的内容


如果在屏幕上共享相同的列表,我想您可以重用ViewModel对象

  • 为两个屏幕创建片段
  • 使用对象列表创建一个视图模型,该视图模型将保存所有常用对象
  • 保持两个片段的Viewmodel上下文相同-可能在同一活动下 您还应该考虑将更改存储在本地数据库中。可能是一个房间 更好的方法是让两个视图都从活动数据对象读取数据(与ViewModel对象一起使用)。 只要有更改,只需更新RoomDB/Sqllite或任何本地Android DB即可。 您的数据库将是所有UI的唯一真实来源

    RecyclerView可以直接使用数据绑定来读取或更新对象列表


    实际上,我使用的是两个不同的列表,这是一个模拟“订单终端”的应用程序,因此在一个列表中,我有菜单中的所有内容,如“玉米饼”,在AlertDialog中,只有变量,如“更多奶酪”或类似的内容,实际上是相同的活动,所以只有一个屏幕OK,在这种情况下,只维护一个ViewModel不是很容易吗。在下面保存一组对象,并使其与数据库同步。无论您在视图中的何处进行更新,都可以直接更新RoomDB。由于视图使用从DB检索的LiveData对象,因此更新将立即反映。若它只是菜单的一个临时对象,那个么你们可以将它保留在视图模型中。只有在确认后才更新数据库。