我在底页上有一个recyclerview,如果单击了该项目,它将显示在我的片段中。
在我的片段中有按钮删除(删除项)。如何呼叫list.remove(position);
?
方法删除按钮:
buttonDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view == buttonDelete){
switchCardAdapter.deleteMethod(1);
}
}
});
在适配器中删除方法:
public void deleteMethod(int position) {
cards.remove(position);
}
Full BindViewHolder:
@Override
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
final Card card = cards.get(position);
holder.textNumber.setText(String.valueOf(card.getNumberCard()));
holder.textName.setText(card.getName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Bundle b = new Bundle();
b.putString("name", card.getName());
b.putString("description", card.getDescripton());
b.putString("type", card.getType());
b.putLong("numberCard", card.getNumberCard());
b.putInt("cvv",card.getCvv());
b.putInt("exp", card.getExp());
b.putInt("pin", card.getPin());
cardFragment.setDataCard(b);
bottomSheetFragment.dismiss();
}
});
}
public void deleteMethod(int position) {
cards.remove(position);
}
任何产品都会使您很满意
public void deleteMethod(int position) {
cards.remove(position);
adapter.notifyItemRemoved(position)
}
当您的adapter
的数据源发生变化时,应收到通知
public void deleteMethod(int position) {
cards.remove(position);
notifyDataSetChanged();
}
或更有效
public void deleteMethod(int position) {
cards.remove(position);
notifyItemRemoved(position);
//enables smooth animations and also updates data
notifyItemRangeChanged(position, getItemCount());
}