我正在尝试将与recyclerview相同片段的视图的可见性动态设置为当recyclerview变空时不可见。问题是我正在从适配器内部的recyclerview中删除一项虽然可见性必须在片段内设置。我还实现了“擦除以删除” recyclerview项,但这是在rv和需要变为不可见的视图的片段内,并且可以正常工作。
从适配器删除:
@Override
public void onClick(View v) {
int holderPosition = holder.getAdapterPosition();
removeItem(holderPosition, v.getContext());
MainActivity.shoppingCartDatabase.shoppingCartDao().delete(currentItem);
}
});
private void removeItem(int position, Context context) {
shoppingCartList.remove(position);
if (shoppingCartList.isEmpty()) {
Toast.makeText(context, "Nu mai exista niciun produs in cos", Toast.LENGTH_LONG).show();
}
notifyItemRemoved(position);
}
从片段中删除-我删除最后一个项目后,可见性已更改:
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
MainActivity.shoppingCartDatabase.shoppingCartDao().delete(shoppingCartList.get(position));
shoppingCartList.remove(position);
shopAdapter.notifyDataSetChanged();
verifyIfRecyclerViewIsEmpty(shopAdapter, recyclerView);
}
}).attachToRecyclerView(recyclerView);