8

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
  • 740
  • 1
  • 10
  • 17

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
  • 32,092
  • 17
  • 52
  • 78
0

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

firebaseUsers.sortBy { it.user.nickName.toLowerCase(Locale.ROOT) }
Sam Chen
  • 5,527
  • 2
  • 29
  • 45