第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

更新RecyclerView的一部分

更新RecyclerView的一部分

ITMISS 2023-07-13 15:42:23
我有一個回收視圖,其中包含評論的描述和投票計數(shù),當(dāng)我按下時,我需要增加計數(shù),這就是目前的樣子 但問題是,當(dāng)我按下投票確實增加,但直到我關(guān)閉該片段并重新打開它它不會更新實際發(fā)生的情況是,當(dāng)我按下投票按鈕時,它會進(jìn)行一個 API 調(diào)用,該調(diào)用會執(zhí)行一些邏輯并將其發(fā)送到 android,其中 android 系統(tǒng)對被單擊或投票的特定項目有很多投票我如何更新該特定記錄,以便我可以在不重新打開視圖的情況下看到更改代碼:CommentItem.javapublic CommentItem(String id, String description, String voteCount){         this.id = id;        this.description= description;        this.voteCount = voteCount;}//getters and settersCommentItemAdapter.java...private OnItemClickListener mlistener;/*Interfaces*/public  interface  OnItemClickListener{    void VoteUpClick(int position);    void VoteDownClick(int position);...}...
查看完整描述

2 回答

?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊

如果我做對了,我adapter.notifyDataSetChanged()就會更新你的列表。但是有更好的方法,DiffUtils在recyclerView中使用。也就是說,比較新舊列表,僅更新更改的項目,而不更改整個數(shù)據(jù)集。

其他方法是,當(dāng) onItemClick 發(fā)生時,通過 .Activity/Or Fragment 獲取 viewHolder 引用recyclerView.findViewHolderForAdapterPosition(position)。然后通過這個視圖改變視圖


查看完整回答
反對 回復(fù) 2023-07-13
?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗 獲得超13個贊

這里很多人都有很好的建議可以使用DiffUtils。這是處理RecycleView.

現(xiàn)在執(zhí)行此操作的最佳方法是使用ListAdapter,這需要一個DiffUtil.ItemCallbackor AsyncDifferConfig。ListAdapter 的一大優(yōu)點(diǎn)是所有不同的邏輯都是在后臺完成的,這反過來又優(yōu)化了您的 UI。您需要的一切就是覆蓋這個 funs:areItemsTheSame()areContentsTheSame(),此外您還有getChangePayload()- 有關(guān)更改項目的詳細(xì)信息。不要使用notifyDataSetChanged()和其他范圍更新函數(shù),所有這些東西都是在幕后處理的。

您的案例可以通過不同的方法來處理。我更喜歡有一個中間狀態(tài),它會通知用戶發(fā)生了一些事情。因此,您可以在本地將該評論標(biāo)記為待投票,例如黃色箭頭,當(dāng)從后端獲得響應(yīng)時,您只需刷新即可,它將data-listItemCallback您執(zhí)行差異技巧。當(dāng)檢索響應(yīng)并應(yīng)用投票時,它可以標(biāo)記為綠色箭頭。這些只是關(guān)于正確流程的想法。

無論如何,您需要的就是使用 ,并且ListAdapter.sumbitList(newDataSet)內(nèi)部將使用 ItemCallback 來比較新舊列表。differListAdapter


查看完整回答
反對 回復(fù) 2023-07-13
  • 2 回答
  • 0 關(guān)注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號