[]這是我的計劃的簡要說明:
1 - 我做了藥名的列表視圖(+8000名)
2,每一個名字都有資產文件夾的唯一的HTML文檔
3-我做的是,在列表視圖搜索
[]問題搜索欄:我想imoprove搜索功能,以便它可以在每個HTML文件中搜索。
,這是我的代碼:有在txt文件搜索和Java的Android的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();
}
*,這是我searchfor功能:
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 - 當我運行應用程序,並嘗試這個搜索工具它不會返回真正的結果(我認爲searchfor函數總是返回false),在html文件中搜索和在txt文件中搜索有什麼區別,以及可能導致這些錯誤結果的原因是什麼?
2 - 搜索速度非常慢,有沒有辦法改進它?
在此先感謝。
@Ravzan非常感謝您的回答,我如何將html文件作爲單個字符串讀取,因爲我認爲它無法導入java.io.IOException; java.nio.file.Files; java.nio.file.Paths; –