如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?

Posted

技术标签:

【中文标题】如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?【英文标题】:How to reload Fragment after removing an item in list view by clicking on delete button in item whose code in adaptor class? 【发布时间】:2021-05-27 13:36:58 【问题描述】:

我的适配器类中有以下代码

firestoredb.collection("medicinedata").document(user.getPhoneNumber()).collection("medicineSchedule").document(v.getTag().toString()).delete()
                    .addOnSuccessListener(new OnSuccessListener<Void>() 
                        @Override
                        public void onSuccess(Void aVoid) 
                            Toast.makeText(context, "Medicine delete successfully", Toast.LENGTH_SHORT).show();
                        
                    )

从数据库中成功删除后,该项目仍显示在列表视图中,直到我转到另一个片段并返回。给我解决方案如何在成功删除我的项目后重新加载或刷新片段

【问题讨论】:

您不必重新加载片段,也不必实际上对您的 listview/recyclerview 进行任何更改,因为它们由适配器管理,因此您需要告诉 适配器 东西发生了变化 【参考方案1】:

如果 addOnSuccessListener 运行并刷新您的适配器类数据,您将删除列表中的数据。要刷新适配器,然后在删除数据后在 addOnSuccessListener 方法中使用此代码

notifyDataSetChanged();

【讨论】:

以上是关于如何通过单击适配器类中代码的项目中的删除按钮来删除列表视图中的项目后重新加载片段?的主要内容,如果未能解决你的问题,请参考以下文章

如何在MVVM架构中观察RecyclerView适配器中的LiveData?

如何通过单击单元格中的按钮来删除 tableView 中的单元格?使用核心数据

如何在按钮单击时获得适配器类中的点击列表项位置

如何在 MVVM 架构中观察 RecyclerView 适配器中的 LiveData?

如何在自定义适配器上实现 onClickListener?

通过单击按钮从数据库中删除