Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用firebase实时数据库对两个值的列表进行排序_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 使用firebase实时数据库对两个值的列表进行排序

Android 使用firebase实时数据库对两个值的列表进行排序,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我的Android应用程序有一个问题需要解决。我目前从Firebase实时数据库中检索要显示的用户列表,这些用户有名字和昵称。name字段是必需的,并且将始终存在于数据库中,但昵称是可选的,可能不存在。我需要按字母顺序显示,以便列表按昵称排序,如果它不存在,则将显示名称,这两个名称都在recyclerView中排序。我已经制作了过滤器,以便在列表项中显示昵称(如果它存在),如果它不存在,它将显示名称,但我需要按照我描述的方式对该列表进行排序。例如: Users |-id1 |-na

我的Android应用程序有一个问题需要解决。我目前从Firebase实时数据库中检索要显示的用户列表,这些用户有名字和昵称。name字段是必需的,并且将始终存在于数据库中,但昵称是可选的,可能不存在。我需要按字母顺序显示,以便列表按昵称排序,如果它不存在,则将显示名称,这两个名称都在recyclerView中排序。我已经制作了过滤器,以便在列表项中显示昵称(如果它存在),如果它不存在,它将显示名称,但我需要按照我描述的方式对该列表进行排序。例如:

Users
  |-id1
     |-name: "John Lande"
     |-nickname: "Potato"
  |-id2
     |-name: "Ingrid Cage"
  |-id3
     |-name: "Anny Baratheon"
     |-nickname: "Noisy"
它应该显示在列表中,如下所示:

- List
    |- Ingrid Cage
    |- Noisy
    |- Potato

记住,显示的名字我已经解决了,但我不知道怎么做的排序。在firebase文档中,我已经看到,通过“orderByChild”进行排序时,每个查询只能对一个值进行排序。

除非您必须按名称/昵称进行筛选,否则您可以在firebase之外进行排序吗?看看我的答案-我认为目前在客户端进行排序没有任何障碍,但是我怎么办呢?我拥有传递给recyclerView适配器的arraylist。