为了账号安全,请及时绑定邮箱和手机立即绑定

如何让片段A知道片段B中的按钮被按下

如何让片段A知道片段B中的按钮被按下

慕森王 2023-12-10 14:58:46
有点复杂,但我会尽力解释。我有3个碎片。第一个片段(NoteFragment)保存所有笔记的回收器视图。当我单击“添加注释”按钮(即第一个片段中的此按钮)时,第二个片段 (AddNoteFragment) 将打开。第三个片段 (RemoveNoteFragment) 是我单击其中一个笔记后出现的片段。(我在 NoteAdapter 中有一个监听器)。第一个片段和第二个片段出现在同一帧布局中。在第二个片段中,我有一个按钮,只要单击它,我就想删除该注释(从回收器视图和 firebase - 请参阅我如何执行此操作的代码)。我想要什么 ?我希望一旦我单击RemoveNoteFragment内的IVremoveNote,我的NoteFragment就知道这一点,并且我可以在其中执行操作(在NoteFragment中)。或者,如果您有其他删除笔记的解决方案,我很想听听。请注意,为了删除注释,我使用注释适配器内的侦听器,该侦听器接受键数组列表位置。
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

你可以做的一件事是在NoteFragment中创建一个方法,然后在按下RemoveNoteFragment中的IVremoveNote时调用该方法。在此方法中,您可以添加删除节点/行的功能。提示!- 您可以在方法参数中传递注释/行信息。我希望它有帮助。



查看完整回答
反对 回复 2023-12-10
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

希望这些片段由同一活动托管。您可以通过以下方式从片段调用活动的方法((YourActivityClassName)getActivity()).yourPublicMethod();

您可以在那里编写逻辑来调用片段方法、侦听器或其他内容


查看完整回答
反对 回复 2023-12-10
?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

您应该真正考虑使用架构组件中的 LiveData 和 ViewModel 来实现您的目的,这是 Google 推荐的设计模式。它需要一些时间来掌握它的窍门,但您几乎可以将它用于每个应用程序,这将使您的问题变得非常简单。

基本上从您的 Firebase 数据库查询所有注释以接收 LiveData> allNotes

然后,您可以观察 LiveData allNotes 以获取列表并将其设置到您的 RecyclerView。这样,您的回收器视图中将始终拥有最新数据。当您从数据库中删除注释时,它会自动更新列表并将其显示在 recyclerview 中。


查看完整回答
反对 回复 2023-12-10
  • 3 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信