【发布时间】:2016-01-19 17:32:00
【问题描述】:
[]这是对我的程序的简要说明:
1- 我做了一个药物名称列表视图(+8000 名称)
2-每个名称在资产文件夹中都有一个唯一的 html 文档
3- 我在列表视图中创建了一个搜索栏
[]问题:我想改进搜索功能,以便它可以在每个 html 文件中进行搜索。
这是我的代码:
// Filter Class to search in titles and inside html files
public void filter(String charText) throws FileNotFoundException {
charText = charText.toLowerCase(Locale.getDefault());
druglist.clear();
if (charText.length() == 0) {
druglist.addAll(arraylist);
} else {
int i=-1;
for (drugPopulation wp : arraylist) {
i++;
if (wp.getitem().toLowerCase(Locale.getDefault()).contains(charText)||Searchfor(charText, arraylisthtml.get(i).getitem())) {
druglist.add(wp);
}
}
}
notifyDataSetChanged();
}
*这是我的搜索功能:
private boolean Searchfor(String search, String s ) throws FileNotFoundException {
String path = "file:///android_asset/"+s;
Boolean yes=false;
final Scanner scanner = new Scanner(path);
while (scanner.hasNextLine()) {
final String lineFromFile = scanner.nextLine();
if(lineFromFile.contains(search)) {
// a match!
yes=true;
break;
}
}
return yes;
}
[*]结果和问题:
1-当我运行应用程序并尝试使用此搜索实用程序时,它不会返回 true 结果(我认为 searchfor 函数总是返回 false ),在 html 文件中搜索和在 txt 文件中搜索之间是否有区别?是这些错误结果的原因吗?
2-搜索速度极慢,有办法改善吗?
提前致谢。
【问题讨论】:
标签: java android html search android-5.0-lollipop