我无法在我的应用的搜索活动中显示结果。我想知道它出了什么问题。
以下功能的目的是搜索用户的输入查询,并在列出的每个文件中找到它。但是结果只匹配一个数据事件,尽管查询也存在于其他文件中。这是代码。
public void searchFiles(File[] filelist, String query, String querysearch, String[] namesOfFiles){
querysearch = "SELECT * FROM Data WHERE ObjectID = ? ";
int temp2 = filelist.length;
for (int i = (temp2-1); i >= 0; i--) {
if(!(filelist[i].getName().equals("DataObjectDB.db")) && !(filelist[i].getName().endsWith("-journal"))){
temp1 = filelist[i].getName();
namesOfFiles[i] = temp1.replaceAll(".db$", "");
Toast.makeText(getApplicationContext(),"Searching " + query + " in: " + namesOfFiles[i], Toast.LENGTH_SHORT).show();
DatabaseHelper db1 = new DatabaseHelper(getApplicationContext(),namesOfFiles[i]);
SQLiteDatabase sqldb = db1.getWritableDatabase();
cursor = sqldb.rawQuery(querysearch, new String[]{query});
Toast.makeText(getApplicationContext(),cursor.toString(), Toast.LENGTH_SHORT).show();
}
}
final ListView listView = (ListView) findViewById(R.id.results_listview);
SearchAdapter adapter = new SearchAdapter(this, R.layout.results_column, cursor,0 );
listView.setAdapter(adapter);
}
searchFiles()函数传递filelist,query,querysearch和namesOfFiles,其中1)filelist包含源文件夹中的文件列表2)query是他/她想要搜索的用户输入3)querysearch是select语句3)namesofFiles只是一个空字符串。
我指示一个toast,看看代码是否遍历所有文件夹。是的,是的。但我不知道为什么它没有显示所有结果。
有任何帮助吗?谢谢!
答案 0 :(得分:0)
在不同的帖子上找到答案。基本上,在直接设置适配器之前,您必须首先使用hashmap和arraylist。