我正在開發一個android聊天應用程序。當我打電話給我的api時,它返回我按照user_id排序的聊天列表。但我需要做的是由message_id序列化,因爲我想顯示最後的消息first.Here是我的onBindViewHolder方法中,我得到的值。如何在Android中排序RecyclerView項目
public void onBindViewHolder(final MyAdapter_HomeViewHolder holder, final int position) {
holder.userNameTV.setText(data.get(position).getUserInfo().getFullName());
holder.msgBodyTV.setText(data.get(position).getBody());
holder.originator_iD.setText(data.get(position).getUserInfo().getId().toString());
//message ID. I need to serialize my recyclerView by this ID.biggest id should appear first.
holder.messageId.setText(data.get(position).getId().toString());
holder.owner_type_ET.setText("1");
holder.subject_ET.setText("Message");
}
在你的情況需要看到完整的代碼,https://pastebin.com/Zxmq36Gn
你的意思是序列化或排序?我假設你正在使用回收器視圖,所以當你添加一個新項目然後在你的適配器上調用「notifyDataSetChanged()」時,你需要做的事情(假設你的意思是排序)就是排序列表。這可以通過在回收視圖中爲您的對象實現比較器功能來完成。 [見這裏](https://stackoverflow.com/questions/5805602/how-to-sort-list-of-objects-by-some-property)如何排序 – swerly
是的,我的意思是通過message_id短路。需要在頂部顯示最大的message_id。和notifyDataSetChanged()像往常一樣返回我的user_id。 –
檢查我發佈的關於如何對列表進行排序的鏈接。在你的構造函數,你把它作爲前一個成員變量,你可以對列表進行排序: '公共MyAdapter_home(名單數據,INT的RowLayout,上下文的背景下){這裏 this.data =數據 //排序的數據; this.rowLayout = rowLayout; this.context = context; }' –
swerly