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。