有點復雜,但我會盡力解釋。我有3個碎片。第一個片段(NoteFragment)保存所有筆記的回收器視圖。當我單擊“添加注釋”按鈕(即第一個片段中的此按鈕)時,第二個片段 (AddNoteFragment) 將打開。第三個片段 (RemoveNoteFragment) 是我單擊其中一個筆記后出現的片段。(我在 NoteAdapter 中有一個監聽器)。第一個片段和第二個片段出現在同一幀布局中。在第二個片段中,我有一個按鈕,只要單擊它,我就想刪除該注釋(從回收器視圖和 firebase - 請參閱我如何執行此操作的代碼)。我想要什么 ?我希望一旦我單擊RemoveNoteFragment內的IVremoveNote,我的NoteFragment就知道這一點,并且我可以在其中執行操作(在NoteFragment中)。或者,如果您有其他刪除筆記的解決方案,我很想聽聽。請注意,為了刪除注釋,我使用注釋適配器內的偵聽器,該偵聽器接受鍵數組列表位置。
3 回答

慕俠2389804
TA貢獻1719條經驗 獲得超6個贊
你可以做的一件事是在NoteFragment中創建一個方法,然后在按下RemoveNoteFragment中的IVremoveNote時調用該方法。在此方法中,您可以添加刪除節點/行的功能。提示!- 您可以在方法參數中傳遞注釋/行信息。我希望它有幫助。

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
希望這些片段由同一活動托管。您可以通過以下方式從片段調用活動的方法((YourActivityClassName)getActivity()).yourPublicMethod();
您可以在那里編寫邏輯來調用片段方法、偵聽器或其他內容

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
您應該真正考慮使用架構組件中的 LiveData 和 ViewModel 來實現您的目的,這是 Google 推薦的設計模式。它需要一些時間來掌握它的竅門,但您幾乎可以將它用于每個應用程序,這將使您的問題變得非常簡單。
基本上從您的 Firebase 數據庫查詢所有注釋以接收 LiveData> allNotes
然后,您可以觀察 LiveData allNotes 以獲取列表并將其設置到您的 RecyclerView。這樣,您的回收器視圖中將始終擁有最新數據。當您從數據庫中刪除注釋時,它會自動更新列表并將其顯示在 recyclerview 中。
添加回答
舉報
0/150
提交
取消