从RecyclerView适配器删除项目后,如何重新加载相同位置的片段

问题描述 投票:0回答:1

我已经在android上设计了一个产品购物车,列出了10个产品。在此,我要删除第7个产品,然后在相同位置重新加载产品购物车片段。请为此提供帮助。

holder.removeCartBtn.setOnClickListener(new View.OnClickListener(){//从购物车中删除产品 @Override public void onClick(最终视图){

            String productId = productData.get_id();

            ApiService api = ApiClient.getClient().create(ApiService.class);

            Call <Response> call= api.removeCart(productId);
            call.enqueue(new retrofit2.Callback<Response>() {
                @Override
                public void onResponse(Call<Response> call, retrofit2.Response<Response> response) {

                    Response jsonResponse = response.body();
                    String result = jsonResponse.getStatus();

                    if (result.equals("remove")){
                        Toast.makeText(mCtx, "Item Removed From Cart", Toast.LENGTH_SHORT).show();
                        notifyItemRemoved(position);
                        ViewCartFragment viewCartFragment = new ViewCartFragment();
                        AppCompatActivity activity = (AppCompatActivity)view.getContext();
                     activity.getSupportFragmentManager().beginTransaction().
            replace(R.id.fragment_container,viewCartFragment).commit();
                    } else {
                        Toast.makeText(mCtx, "Item Not Removed From Cart",Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onFailure(Call<Response> call, Throwable t) {
                    Toast.makeText(mCtx, "No Internet connection found. Check your connection " +
                            "or try again", Toast.LENGTH_LONG).show();
                }
            });
        }
    });
android android-fragments fragment retrofit android-adapter
1个回答
0
投票
mDataset.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, mDataSet.size());
© www.soinside.com 2019 - 2024. All rights reserved.