gpt4 book ai didi

java - 如何将日期组合在一起并在 Java 或 Kotlin 中显示其数据

转载 作者:行者123 更新时间:2023-12-02 12:15:20 25 4
gpt4 key购买 nike

我正在 android 中检索此 json,我想按日期显示数据(带有 viewpager 的选项卡)

例如- 23(Tab1): 1) id-9854359 2) id-9854360 || 24(Tab2) id-9854361 2) id-9854360

每个选项卡都有我想要显示数据的 recyclerview 项目,但问题是我想将日期组合在一起并根据该项目显示数据。我尝试过使用 hashmap、map...但仍然没有成功。

[
{
"end_time": "2020-01-23 01:45:00+00:00",
"is_booked": false,
"is_expired": false,
"slot_id": 9854359,
"start_time": "2020-01-23 01:30:00+00:00",
"username": null
},
{
"end_time": "2020-01-23 02:05:00+00:00",
"is_booked": false,
"is_expired": false,
"slot_id": 9854360,
"start_time": "2020-01-23 01:50:00+00:00",
"username": null
},
{
"end_time": "2020-01-24 02:45:00+00:00",
"is_booked": false,
"is_expired": false,
"slot_id": 9854359,
"start_time": "2020-01-24 02:30:00+00:00",
"username": null
},
{
"end_time": "2020-01-24 03:05:00+00:00",
"is_booked": false,
"is_expired": false,
"slot_id": 9854359,
"start_time": "2020-01-24 02:50:00+00:00",
"username": null
}
]

最佳答案

将 JSON 转换为类。据我所知,在 Android 中使用 GSON 是标准做法。

class Entity {
String end_time
boolean is_booked
boolean is_expired
long slot_id;
String start_time;
String username;
}

List<Entity> entities = gson.fromJson(yourJsonAsString), Entity.class);

提取日期并按日期分组。我建议使用 java Stream API,因为它是专门为这样的任务而设计的:

Map<String, List<Entity>> grouppedByDate = 
entities.stream().collect(
Collectors.grouppingBy(entity -> entity.end_time.split(" ")[0])
)

创建选项卡 View ,每个选项卡都包含 ListView 。

对于选项卡适配器,请使用集合grouppedByDate.entries(),其中entry.getKey()是此选项卡中实体的日期,entry.getValue() 是条目列表。

关于java - 如何将日期组合在一起并在 Java 或 Kotlin 中显示其数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59866298/

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