亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Activity 的 Recycleview 中刪除項目

如何從 Activity 的 Recycleview 中刪除項目

一只名叫tom的貓 2023-06-28 19:46:51
我有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());                });這肯定會引發錯誤。我該如何解決這個問題。提前致謝。
查看完整描述

2 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

嘗試這個


public void onDelete(Districtpost contact) {

if(contactListFiltered != null && contactListFiltered.size > 0){

contactListFiltered.remove(contact);

notifydatasetchanged();

}});


查看完整回答
反對 回復 2023-06-28
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

嘗試這個:


yourList.remove(position); //Remove item from list

notifyItemRemoved(position); //notify changes made to the adapter.


查看完整回答
反對 回復 2023-06-28
  • 2 回答
  • 0 關注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號