簡體   English   中英

如何從活動中從Recycleview中刪除項目

[英]How to remove item from Recycleview from activity

我在實現搜索功能的地方使用了recycleview。 並且每個項目都添加了onClick,可通過以下代碼從列表中刪除項目。

  holder.del_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int newPosition = holder.getAdapterPosition(); contactListFiltered.remove(newPosition); notifyItemRemoved(newPosition); notifyItemRangeChanged(newPosition, contactListFiltered.size()); }); 

它適用於普通列表,但是當搜索任何項目時,在篩選結果上,onclick偵聽器可能會由於視圖重疊而隨機刪除。 所以我通過下面的代碼將onclick偵聽器傳遞給活動

  mSolved.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // send selected contact in callback listener.onSolved(contactListFiltered.get(getAdapterPosition())); } }); public interface FRoomAdapterListener { void onSolved(Districtpost contact); } 

在活動中我正在使用

  public void onDelete(Districtpost contact) { int newPosition = holder.getAdapterPosition(); contactListFiltered.remove(newPosition); notifyItemRemoved(newPosition); notifyItemRangeChanged(newPosition, contactListFiltered.size()); }); 

這肯定會引發錯誤。 我該如何解決。 提前致謝。

嘗試這個

public void onDelete(Districtpost contact) {
if(contactListFiltered != null && contactListFiltered.size > 0){
contactListFiltered.remove(contact);
notifydatasetchanged();
}});

嘗試這個:

yourList.remove(position); //Remove item from list
notifyItemRemoved(position); //notify changes made to the adapter.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM