gpt4 book ai didi

java - 在 RecyclerView 中添加日期部分

转载 作者:行者123 更新时间:2023-11-29 04:34:13 27 4
gpt4 key购买 nike

我需要一点帮助!

我关注了this获得一些结果的指南。

适配器已设置,recyclerview 已初始化,但我遇到了麻烦在列表中显示正确的数据。

所以这就是我要做的:

首先,我将从 api 获取的临时列表数据存储在其中,并创建一个日期数组列表。当然,我要从该数组列表中删除重复的日期,因为有些项目是按同一日期订购的。

这里是一些代码,以及我如何填充 recyclerview 并按部分日期排序项目:

// dates - array list of dates(16 February, 20 February..)
// mEvents - temporarily list with size of 8 items
// originalList - list of events ordered by date

for (String date : dates) {
originalList.clear();
for (Event event2 : mEvents) {
// Checking if item's date from temp. list is equal with
// iterated date and adding to original list
if (date.equals(event2.getDate())) {
originalList.add(event2);
}
}

// Attaching section to adapter with iterated date and array list related to that date
EventSection eventSection
= new EventSection(R.layout.lst_item_event_header, R.layout.lst_item_event_v2, date, originalList, getActivity());
mSectionedRecyclerViewAdapter.addSection(eventSection);
}

这里的问题是我从原始列表中获取每个日期部分的最后 2 个项目。我在这里缺少什么?

编辑:

// I need to sort items by these dates into sections
Dates:: [2017-02-16, 2017-02-17, 2017-02-28, 2017-02-22, 2017-02-20]

Event date:: 2017-02-16
Event date:: 2017-02-16
Event date:: 2017-02-17
Event date:: 2017-02-17
Event date:: 2017-02-28
Event date:: 2017-02-22
Event date:: 2017-02-20
Event date:: 2017-02-20

最佳答案

好的,借助 autor 库的示例,我终于找到了解决方案。因此,如果其他人遇到像我这样的麻烦,这可能会对您有所帮助:

for (String date : dates) {
originalList = getEventsWithDate(date);

if (originalList.size() > 0) {
mSectionedRecyclerViewAdapter.addSection(new EventSection(date, originalList, getActivity()));
}
}

private List<Event> getEventsWithDate(String date) {
List<Event> events = new ArrayList<>();

for (Event event : mEvents) {
if (date.equals(event.getDate())) {
events.add(event);
}
}

return events;
}

关于java - 在 RecyclerView 中添加日期部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42395153/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com