【问题标题】:RuleBasedCollator not working on Android?RuleBasedCollat​​or 不能在 Android 上运行?
【发布时间】:2016-08-25 12:40:39
【问题描述】:

我尝试在 Android 上使用 RuleBasedCollator 对字符串进行排序。但是没有一个来自https://developer.android.com/reference/java/text/RuleBasedCollator.html 的例子不能在 android 5 上运行并抛出异常。

    Caused by: java.text.ParseException: ucol_openRules failed: U_INVALID_FORMAT_ERROR (at offset -1)   
   at java.text.RuleBasedCollator.<init>(RuleBasedCollator.java:114)  

例如代码会抛出异常

 String simple = "< a< b< c< d";
 RuleBasedCollator mySimple = new RuleBasedCollator(simple);

我也尝试了文章 http://envyandroid.com/rulebasedcollator-crashes-android-5-0/ 中的提示,但仍然无法正常工作

【问题讨论】:

  • 您引用的文章说“您必须在规则字符串中添加一个初始重置字符,即:&。” 5 岁及以上。你这样做了吗?
  • 当然规则"&amp;&lt; a&lt; b&lt; c&lt; d"也抛出异常。我写的是文章没有帮助
  • “当然”,但如果你真的这么说,那就更明显了。在这一点上,我宁愿不做任何假设。

标签: android sorting


【解决方案1】:

我解决了问题。
在 android 上必须使用 "&amp;a&lt; b&lt; c&lt; d" 模式,没有第一个 &lt; 字符。在纯 java 上这个模式会抛出异常,必须使用"&lt;a&lt;b&lt;c&lt;d"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2021-08-07
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多