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

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

recyclerview 中的列表未排序

recyclerview 中的列表未排序

FFIVE 2023-07-13 17:34:28
我在數據庫中有一個電話號碼和消息對的列表。我想在按選項菜單中的相應按鈕后按電話號碼或消息文本以相反的順序對列表進行排序。我用 實現Collections.sort并compare更新了適配器notifyDataSetChanged()。然而,當我按下按鈕時,什么也沒有發生。作為測試,我嘗試notifyDataSetChanged()在 的末尾調用排序方法 和onViewCreated(),但也沒有排序。為什么沒有Collections.sort對我的列表進行排序?
查看完整描述

2 回答

?
犯罪嫌疑人X

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

難道是因為里面的代碼onLoadFinished嗎?我不喜歡加載器,但是您為回收器視圖設置了一個適配器,傳遞局部變量list。這意味著調用此代碼后,您的適配器不再綁定mLogList。



查看完整回答
反對 回復 2023-07-13
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

對于按字典順序反向排序 LogEntryItem 消息:

class SortbyMessage implements Comparator<LogEntryItem> { 
    @Override
    public int compare(LogEntryItem a, LogEntryItem b) { 
        return a.getMessageSent().compareTo(b.getMessageSent());
    } 
}

現在你可以像這樣使用它

Comparator comparator = Collections.reverseOrder(new SortbyMessage()); 
Collections.sort(ar, comparator);

對于數字排序與上面類似,除了

return a.getPhoneNumber() - b.getPhoneNumber();

或者在您的reverseSortComparePhoneNumber方法中將您的返回更改為

itemB.getPhoneNumber() - itemA.getPhoneNumber();


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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