SQLIte 没有在 ListView 中正确显示所有结果
SQLIte not displaying all of the results correctly in ListView
我无法在我的应用的搜索 activity 中显示结果。我想知道哪里出了问题。
下面函数的目的是搜索用户输入的查询,并在列出的每个文件中找到它。但是结果只匹配一个数据,尽管查询也存在于其他文件中。这是代码。
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 是用户输入 he/she 想要搜索 3) querysearch是 select 语句 3) namesofFiles 只是一个空字符串。
我点个敬酒看看代码是否遍历了所有的文件夹。是的。但是不知道为什么没有显示所有结果
有什么帮助吗?谢谢!
在不同的帖子上找到了答案。基本上,您只需在直接设置适配器之前先使用 hashmap 和 arraylist。
我无法在我的应用的搜索 activity 中显示结果。我想知道哪里出了问题。
下面函数的目的是搜索用户输入的查询,并在列出的每个文件中找到它。但是结果只匹配一个数据,尽管查询也存在于其他文件中。这是代码。
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 是用户输入 he/she 想要搜索 3) querysearch是 select 语句 3) namesofFiles 只是一个空字符串。
我点个敬酒看看代码是否遍历了所有的文件夹。是的。但是不知道为什么没有显示所有结果
有什么帮助吗?谢谢!
在不同的帖子上找到了答案。基本上,您只需在直接设置适配器之前先使用 hashmap 和 arraylist。