Это означает, что я не обновил свой адаптер или что?
@ Переопределить public void onDeleteClick (int position) {FoodInfo selectedItem;
if(!searchView.getQuery().toString().isEmpty())
{
selectedItem = newlist.get(position);
}
else
{
selectedItem = mfoodinfo.get(position);
}
final String selectedKey = selectedItem.getFoodname();
StorageReference imageRef = firebaseStorage.getReferenceFromUrl(selectedItem.getImageUrl());
imageRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
databaseReference.child(selectedKey).removeValue();
foodAdapter.notifyDataSetChanged();
Toast.makeText(Recycleview.this, "Item deleted", Toast.LENGTH_SHORT).show();
}
});
}
Адаптер питания
@Override
public int getItemCount() {
return mfoodinfo.size();
}
public void setFilter(List<FoodInfo> newlist) {
mfoodinfo = new ArrayList<>();
mfoodinfo.addAll(newlist);
notifyDataSetChanged();
}
@Override
public void onClick(View v) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
mListener.onItemClick(position);
}
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Select Action");
MenuItem delete = menu.add(Menu.NONE, 1, 1, "Delete");
MenuItem update = menu.add(Menu.NONE, 2, 2, "Update ");
update.setOnMenuItemClickListener(this);
delete.setOnMenuItemClickListener(this);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
switch (item.getItemId()) {
case 1:
mListener.onDeleteClick(position);
return true;
case 2:
mListener.UpdateFood(position);
return true;
}
}
}
return false;
}
}
public interface OnItemClickListener {
void onItemClick(int position);
void onDeleteClick(int position);
void UpdateFood(int position);
}
public void setOnItemClickListener(OnItemClickListener listener) {
mListener = listener;
}
}
, который является моим удалениемметод после того, как я удаляю элемент, который все еще существует в моем представлении корзины, перешел в базу FireBase
Я должен покинуть эту страницу и получить доступ снова, тогда он показывает только тот же элемент с базой FireBase
Любая помощь