我刚刚使用了android的searchabledictionary
示例,它可以在android sdk的samples
文件夹中找到。 (API级别9)
我完成了definitions.txt
文件,格式相同
key - value
当我在搜索区域中输入一个单词时,该应用会尝试建议单词,但它找不到确切的单词。这是一个例子。我搜索了test
这个词,这是definitions.txt
:
验收测试 - 意思
酸测试 - 意思
alpha测试 - 意思是
基准测试 - 意思
....
飞行测试 - 意思
负载测试 - 意思是
...
测试 - 含义
它会找到此列表中的15个第一个单词(希望它不会搜索attestaion
之类的单词),但它不会显示确切的单词test
!
我读过DictionaryProvider
和DictionaryDatabase
,但我无法理解问题的根源!
问题是如何在列表的第一个位置建议确切的单词test
?
答案 0 :(得分:0)
检查Dictionary.java,你会看到loadWords函数。 该函数打开definitions.txt文件并迭代所有行,并将每一行拆分为" - "并添加到Hashmap字典。
同样在同一个文件中有getMatches函数,它接受你的搜索关键字并从字典中获取结果。
不确定但是因为当您搜索建议时,会显示前几个匹配项。 而且因为"测试"关键字存在于太多行上而且(" test - 含义")是您的最后定义,您无法在建议列表中看到。
你可以尝试移动"测试 - 意思"行到definitions.txt的第一行。