我有一个RecyclerView可以捆绑杂货的物品。添加项目效果很好。但是,当我尝试删除项目时,应用程序崩溃了,并且出现了IndexOutOfBoundsException错误。
我面临的问题是我的onBindViewHolder()。我试图找到适配器的位置,但并没有解决问题。我也尝试过使用notifyDataSetChanged(),只是删除了我的整个列表。
我的问题是我做错了什么以及如何解决此问题?
这是Adapter类:
private class GroceryAdapter extends RecyclerView.Adapter<GroceryHolder>{
private List<Grocery> groceries;
private GroceryHolder holder;
public GroceryAdapter(){
setGroceries(GroceryList.get(GroceryActivity.this).getGroceries());
}
public void setGroceries(List<Grocery> groceries){
this.groceries = groceries;
}
@Override
public GroceryHolder onCreateViewHolder(ViewGroup parent, int viewType){
LayoutInflater layoutInflater= LayoutInflater.from(GroceryActivity.this);
View view=layoutInflater.inflate(R.layout.grocery_list_row, parent, false);
holder =new GroceryHolder(view);
return holder;
}
@Override
public void onBindViewHolder(final GroceryHolder holder, final int position){
final Grocery grocery = groceries.get(position);
holder.bindGrocery(grocery);
//private Grocery grocery;
holder.deleteImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View …Run Code Online (Sandbox Code Playgroud) java android indexoutofboundsexception android-viewholder android-recyclerview