如何在另一个组列表groupby中实现组列表是否可以在dart自定义对象中使用多个哈希码和operator ==

问题描述


class People  {
  final String id;
  final String title;
  final String name;
  final String location;
  final String email;
  final String lga;
 

  People({
    @required this.id,@required this.title,@required this.name,@required this.location,this.email,this.lga,});


  factory People.fromJson(Map<String,dynamic> json) => People(
    id: json["id"],title: json["title"],name: json["name"],location: json["location"],email: json["email"],lga: json["lga"],);

  Map<String,dynamic> toJson() => {
    "id": id,"title": title,"name": name,"location": location,"email": email,"lga": lga,};


@override
  bool operator ==(o) =>
    o is Priest && townOrigin == o.townOrigin && lga == o.lga;

@override
  int get hashCode => town.hashcode ^ lga.hashcode;

这在城镇或拉加之间的listView中是可能的,但我的问题是,我也想在这些位置中实现这些equals和hashCode,而在另一个ListView中则有所不同。

为简单起见,许多人具有相同的位置,但是我只需要一个位置,来自相同位置的许多人(作为标头),并在下面重复其名称。

有帮助吗?

[
  {
      "id": "1","name": "Ada Kenneth Kenechukwu","location": "Awka","townOrigin": "Nimo","phone": "080633","lga": "Njikoka",},{
      "id": "2","name": "Ugo John","phone": "08057763",{
      "id": "3","name": "Okafor Kenneth Kenechukwu","townOrigin": "Ukpo","phone": "0806363","lga": "Dunukofia",{
      "id": "4","name": "Ndu Agi","phone": "0806763",{
      "id": "5","name": "Mma Peter","townOrigin": "Ichida","lga": "Anaocha",{
      "id": "6","name": "Eze Peter","phone": "0806345",}
] 

当您查看此内容时,有些位置相同,即TownOrigin,lga。我的应用程序中有三个listView页面,它将分别显示来自同一位置,townOrigin,lga的所有那些(名称)。仅显示名称,但使用一个元素(如Awka所在位置)作为副标题。这同样适用于所有townOrigin和lga。期待获得帮助。

我的状况有所好转,但还没有解决我所有的问题, 使用此包sticky_grouped_list,https://pub.dev/packages/sticky_grouped_list

我想要一个小组内部的小组。我已经得到了一组LGA,但尚未放入LGA组中。

enter image description here

如何将“ Uga”等同一地点的人合并到一起。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)