我的 Firebase 数据库中有一个产品列表。我的 SKU 看起来像这样 c08p10
。但问题是百产品显示在第十产品之后。
困惑的产品订单请引用截图。
我能理解产品是按字母顺序排列的。但是如何按以下顺序显示产品
c08p10
c08p11
c08p12
注意
我可以在 ListView 或回收器 View 中填充数据。但是产品是按照 firebase DB 顺序排列的。如果我尝试颠倒顺序。它给出了以下结构。
c08p118
c08p117
c08p116
最佳答案
Firebase 键是字符串。当您对字符串数据进行排序时,它是按字典顺序排序的。
所以对于数字,这是正常顺序:
- 1
- 9
- 10
- 11
但是对于字符串,这是正常的顺序:
- “1”
- “11”
- “19”
- “9”
Firebase 中(大多数其他数据库中也没有)没有运算符来更改此行为。相反,您将不得不修改数据以获得您想要的行为。因此:按字典顺序存储按您需要的顺序存储的值。对于数字,您可以通过用零填充它们来实现:
- “001”
- “009”
- “011”
- “019”
或者在你的情况下 c09p010
等
关于android - 如何按升序对 Firebase 键进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275688/