【问题标题】:Delete recycler items based on specific user preferences根据特定用户偏好删除回收站项目
【发布时间】:2021-06-01 03:26:18
【问题描述】:

我正在为我的项目使用 android studio 和 fire base 实时数据库。我使用回收站视图在商店的活动中显示了一些客户查询。当商店接受该查询时,我希望从他的回收站视图列表中删除该查询(仅针对该用户(商店),我不希望将其从整个 firebase 数据库中删除,因此其他用户可以使用(商店),但是当我尝试从单个商店用户中删除该商品时,它正在从我的 Firebase 数据库中删除。是否有人可以告诉我如何实现我的要求。

【问题讨论】:

  • 对我来说看起来像是业务逻辑和实现问题的混合体。让我们退后一步:如果您需要维护数据,请确保您使用某种有助于软删除而不是真正删除的标志。现在想象一下,您可以通过处理发送给它的项目列表来控制项目在回收站视图中的可见性。使用 LiveData 或您喜欢的任何其他逻辑管理列表,这反过来将管理视图中的列表。请查看 LiveData 和 DiffUtil.ItemCallback 方法,我认为这将最适合您的问题。

标签: android firebase firebase-realtime-database android-recyclerview


【解决方案1】:

我认为你需要为每个用户创建数据库。即使您可以编写逻辑来隐藏和显示给每个用户而无需实际删除它想象一下如果您有很多用户会发生什么。您的逻辑如何记住哪些用户及其活动?我并不是说您需要存储您要为每个用户向所有用户显示的所有列表,而是只存储用户已删除的项目,然后您可以编写业务逻辑来将原始列表与他们删除的项目进行比较,显示他们依赖于此。 (由于我的声誉低于 50,我无法发表评论)希望对您有所帮助。

【讨论】:

  • 逻辑很简单,如果客户有需求,他会发送给所有卖家。这将在卖家主页的回收商视图中填充。这种类型的要求应该适用于所有注册为卖家的用户。如果一个卖家对特定的客户需求表示兴趣,他必须按下表达兴趣按钮,一旦他按下该按钮,该特定需求必须从他的主要活动转移到提供片段(仅对于按下按钮的那个卖家,对于其他卖家应该仍然在那里)。如果你不能评论,请回答
  • 当卖家按下按钮时,将项目要求添加到database 并使用该项目导航到fragment 并编写一个逻辑来将您的原始列表与他的列表(数据库)进行比较并删除重复项并向他显示一个没有重复项目的新列表。你可以使用livedatamutablestate作为你的列表,或者在他按下后召回你的recyclerview,以便你可以更新列表。
  • @jorieitomuke 我理解你的逻辑,但如果卖家按下按钮并表示有兴趣,我必须从 enguiry 片段中的回收商列表中删除该查询以提供片段,当我尝试这样做时,该项目将从数据库中删除,然后其他卖家将无法使用。我希望其他卖家可以看到该项目(要求),我希望其他卖家也可以看到该要求,以便他们可以提出报价
  • 不,你不是,因为我的逻辑没有这样的删除,只是为特定的卖家隐藏它。没有按下按钮的其他卖家仍然可以看到它。
  • 如何在特定用户的回收站视图中隐藏详细信息.. 你是说要将视图长度减少到零吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 2015-04-20
  • 2017-11-26
  • 2013-05-25
  • 1970-01-01
  • 2014-03-14
相关资源
最近更新 更多