SQLIte在ListView中没有正确显示所有结果
问题描述:
我在显示结果的应用程序的搜索活动时遇到问题。我不知道哪里出了问题。SQLIte在ListView中没有正确显示所有结果
以下功能的目的是搜索用户的输入查询并在列出的每个文件中找到它。但是结果只匹配一个数据事件,尽管查询也存在于其他文件中。这是代码。
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()函数传递的文件列表,查询,querysearch和namesOfFiles其中,1)文件列表包含在源文件夹中的文件列表2)查询是他/她想要的用户输入搜索3)querysearch是select语句3)namesofFiles只是一个空字符串。
我指出一个敬酒,看看代码遍历所有的文件夹。是的。但我不知道为什么它没有显示所有的结果。
任何帮助?谢谢!
答
在不同的职位上找到答案。基本上,你只需要在设置适配器之前先使用hashmap和arraylist。
@ FrankN.Stein哦不,我粘贴未经编辑的代码,但谢谢!无论如何,我刚刚重新发布了基本的select语句代码。尽管如此,它仍然给出了错误的结果。 –
我不明白你为什么搞乱文件?给数据库路径和名称还不够吗? –
@ FrankN.Stein这些是包含这些表的数据库文件。例如,我有一个名为“File1”的文件,它包含诸如1)包含列“ObjectID”,“Value”和“Property”的“Data”2)包含“Lock”等的“Settings”3)其他表格。所以我想在每个文件的“数据”表中搜索。 –