如何从 recyclerview 适配器中删除项目
How to remove items from recyclerview adapter
如何从回收站视图适配器中删除项目。我从 api 获取项目并存储在 recyclerview 适配器中。我正在使用以下代码删除 mysql 数据库中的项目,但无法从 recyclerview
中删除项目
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.ordTxt.setText("Order No : "+mData.get(position).getOrderNumber());
holder.ordCharges.setText("Rs: "+mData.get(position).getOrderCharges());
orderNo = mData.get(position).getOrderNumber();
holder.detBtn.setOnClickListener(v -> {
Intent in_cat = new Intent(ctx,OrderDetail.class);
in_cat.putExtra("user_id", preferenceHelper.getId());
in_cat.putExtra("ordNo", mData.get(position).getOrderNumber());
ctx.startActivity(in_cat);
});
holder.canBtn.setOnClickListener(v -> {
cancelConfirmation();
});
}
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
//Log.i("Responsestring", response.body().toString());
//Toast.makeText(ctx, "Response Got", Toast.LENGTH_SHORT).show();
if (response.isSuccessful()) {
if (response.body() != null) {
progressDialog.dismiss();
Log.i("onSuccess", response.body());
//deleteItem(mData.get(position));
String jsonresponse = response.body();
Toast.makeText(ctx,jsonresponse,Toast.LENGTH_LONG).show();
//success message for cancelling order to be set here
//JSONObject obj = new JSONObject(jsonresponse);
//if(obj.optString("status").equals("true")){
//parseLoginData(jsonresponse);
} else {
progressDialog.dismiss();
Log.i("onEmptyResponse", "Returned empty response");
//Toast.makeText(ctx,"Empty Response",Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
progressDialog.dismiss();
Toast.makeText(ctx,"Please connect your internet",Toast.LENGTH_LONG).show();
}
});
我正在使用改装来调用 api 并删除 mysql 中的项目,如何获取 select 项目的位置并在来自 api
试试这个会有效notifyItemRemoved(position)
holder.canBtn.setOnClickListener(v -> {
cancelConfirmation(position);
});
然后作为当前位置的参数传递如下cancelConfirmation(int position)
,最后当响应成功时删除项目如下
if (response.isSuccessful()) {
mData.remove(position)
notifyItemRemoved(position);
}
kotlin 版本:
private fun deleteItem(position: Int) {
mDataSet.removeAt(position)
notifyItemRemoved(position)
notifyItemRangeChanged(position, mDataSet.size)
}
如何从回收站视图适配器中删除项目。我从 api 获取项目并存储在 recyclerview 适配器中。我正在使用以下代码删除 mysql 数据库中的项目,但无法从 recyclerview
中删除项目@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
holder.ordTxt.setText("Order No : "+mData.get(position).getOrderNumber());
holder.ordCharges.setText("Rs: "+mData.get(position).getOrderCharges());
orderNo = mData.get(position).getOrderNumber();
holder.detBtn.setOnClickListener(v -> {
Intent in_cat = new Intent(ctx,OrderDetail.class);
in_cat.putExtra("user_id", preferenceHelper.getId());
in_cat.putExtra("ordNo", mData.get(position).getOrderNumber());
ctx.startActivity(in_cat);
});
holder.canBtn.setOnClickListener(v -> {
cancelConfirmation();
});
}
call.enqueue(new Callback<String>() {
@Override
public void onResponse(Call<String> call, Response<String> response) {
//Log.i("Responsestring", response.body().toString());
//Toast.makeText(ctx, "Response Got", Toast.LENGTH_SHORT).show();
if (response.isSuccessful()) {
if (response.body() != null) {
progressDialog.dismiss();
Log.i("onSuccess", response.body());
//deleteItem(mData.get(position));
String jsonresponse = response.body();
Toast.makeText(ctx,jsonresponse,Toast.LENGTH_LONG).show();
//success message for cancelling order to be set here
//JSONObject obj = new JSONObject(jsonresponse);
//if(obj.optString("status").equals("true")){
//parseLoginData(jsonresponse);
} else {
progressDialog.dismiss();
Log.i("onEmptyResponse", "Returned empty response");
//Toast.makeText(ctx,"Empty Response",Toast.LENGTH_LONG).show();
}
}
}
@Override
public void onFailure(Call<String> call, Throwable t) {
progressDialog.dismiss();
Toast.makeText(ctx,"Please connect your internet",Toast.LENGTH_LONG).show();
}
});
我正在使用改装来调用 api 并删除 mysql 中的项目,如何获取 select 项目的位置并在来自 api
试试这个会有效notifyItemRemoved(position)
holder.canBtn.setOnClickListener(v -> {
cancelConfirmation(position);
});
然后作为当前位置的参数传递如下cancelConfirmation(int position)
,最后当响应成功时删除项目如下
if (response.isSuccessful()) {
mData.remove(position)
notifyItemRemoved(position);
}
kotlin 版本:
private fun deleteItem(position: Int) {
mDataSet.removeAt(position)
notifyItemRemoved(position)
notifyItemRangeChanged(position, mDataSet.size)
}