从recyclerview适配器中删除共享流程中的项目

发布于 2025-02-12 16:23:48 字数 2542 浏览 1 评论 0原文

我试图在Recyclerview适配器中删除共享播放中的项目。但是,直到我从活动中回来并回来之前,该项目才消失。我需要在被删除后尽快消失。

方法

public boolean RemoveFromWantToRead(AllBooksActivityModel book) {
        ArrayList<AllBooksActivityModel>books = getWantToReadBooks();
        if (null != books){
            for (AllBooksActivityModel b: books){
                if (b.getBookID() == book.getBookID()){
                    if (books.remove(b)){
                        //We create a 'if' loop here is if only the thing happened, the loop actions.
                        Gson gson = new Gson();
                        SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.remove(WANT_TO_READ_BOOKS);
                        editor.putString(WANT_TO_READ_BOOKS,gson.toJson(books));
                        editor.commit();
                        return true;
                    }

                }            }
        }return false;
    }

这就是我尝试删除项目的方式。

 holder.BtnDltTxt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(context);
                    builder.setMessage("Do you want to delete this massage");
                    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            String EleName = allBooksActivityModels.get(position).getBookName();
                            if( Ulitls.getInstance(context).RemoveFromCurrenlyReading(allBooksActivityModels.get(position))){
                                Toast.makeText(context, EleName + " Removed", Toast.LENGTH_SHORT).show();
                                notifyDataSetChanged();
                                
                            }else{
                                Toast.makeText(context, "Something Wrong Happens, Try again", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {

                        }
                    });
                    builder.create().show();
                }
            });

i tried to delete an item in sharedPreferences, in recyclerView adapter. but that item doesn't disappear till I go back from the activity and come back. I need it to disappear soon after being deleted.

Method

public boolean RemoveFromWantToRead(AllBooksActivityModel book) {
        ArrayList<AllBooksActivityModel>books = getWantToReadBooks();
        if (null != books){
            for (AllBooksActivityModel b: books){
                if (b.getBookID() == book.getBookID()){
                    if (books.remove(b)){
                        //We create a 'if' loop here is if only the thing happened, the loop actions.
                        Gson gson = new Gson();
                        SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.remove(WANT_TO_READ_BOOKS);
                        editor.putString(WANT_TO_READ_BOOKS,gson.toJson(books));
                        editor.commit();
                        return true;
                    }

                }            }
        }return false;
    }

This is how I tried to delete an item.

 holder.BtnDltTxt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    AlertDialog.Builder builder = new AlertDialog.Builder(context);
                    builder.setMessage("Do you want to delete this massage");
                    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            String EleName = allBooksActivityModels.get(position).getBookName();
                            if( Ulitls.getInstance(context).RemoveFromCurrenlyReading(allBooksActivityModels.get(position))){
                                Toast.makeText(context, EleName + " Removed", Toast.LENGTH_SHORT).show();
                                notifyDataSetChanged();
                                
                            }else{
                                Toast.makeText(context, "Something Wrong Happens, Try again", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {

                        }
                    });
                    builder.create().show();
                }
            });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文