想要删除recycleview上的一个项目。单击按钮删除单击。该项目在firebase数据库中删除但在循环视图中该项目存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了想要删除recycleview上的一个项目。单击按钮删除单击。该项目在firebase数据库中删除但在循环视图中该项目存在相关的知识,希望对你有一定的参考价值。

它在firebase数据库中删除..但我必须登录并注销以查看回收站视图以删除项目或更改活动布局(如返回)并单击返回回收站视图活动页面以清除项目。即使它被删除,该项也在那里。从数据库中删除后,我将做什么来清除回收站视图中的项目。

Context context;
List<Planner> MainImageUploadInfoList;


public RecyclerPlanner(Context context, List<Planner> TempList) {

    this.MainImageUploadInfoList = TempList;

    this.context = context;
    SharedPreferences userlogin = context.getSharedPreferences("userlogin",0);
    userid = userlogin.getString("UserID",null);
}

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {

    final Planner directory = MainImageUploadInfoList.get(position);

    holder.deldir.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            FirebaseDatabase database = FirebaseDatabase.getInstance();
            DatabaseReference myRef = database.getReference();

            DatabaseReference planner = myRef.child("Planner");
            DatabaseReference planner1 = planner.child(userid);
            date = directory.getDate();
            locationid = directory.getLocationID();
            date1 = date.replace("/", "");

            DatabaseReference planner2 = planner1.child(date1);

            planner2.child(locationid).removeValue();

        }
    });

}

@Override
public int getItemCount() {

    return MainImageUploadInfoList.size();
}
答案

在你的删除方法中使用它 -

MainImageUploadInfoList.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount());

以上是关于想要删除recycleview上的一个项目。单击按钮删除单击。该项目在firebase数据库中删除但在循环视图中该项目存在的主要内容,如果未能解决你的问题,请参考以下文章

RecycleView List with SearchView is empty after back press

通过单击从 textview 打开 url

长按回收站视图项目时显示按钮

KivyMD RecycleView 网格中的复选框操作重复

单击 ListView 上的删除按钮后删除 ListView 上的项目

Android:列表视图上的多个操作 - 焦点问题