9

I’m using a FirebaseRecyclerAdapter to display a list of strings. My query uses orderByChild. The results sorts with capitalize letters first and looks like this:

Item 1, Item 2, Item 3, aItem, bItem, zItem.

How do I use orderByChild resulting in case insensitive sorting?

Loren
  • 820
  • 2
  • 11
  • 18

2 Answers2

17

You don't. Kind of.

If you have data you want to sort by but there also needs to be a user representation of that data, keep two versions

posts
  post_id_0
    display_version: William
    sort_version: william
  post_id_1
    display_version: Henry
    sort_version: henry

Of course you could read in all of the data from Firebase and use .toLower or whatever your platform call is and then sort in code.

Jay
  • 34,438
  • 18
  • 52
  • 81
0

You can sort your local data source such as List by using sortBy():

firebaseUsers.sortBy { it.user.nickName.toLowerCase(Locale.ROOT) }
Sam Chen
  • 7,597
  • 2
  • 40
  • 73