SQLIte没有在ListView中正确显示所有结果

时间:2015-11-04 11:51:39

标签: sqlite listview search android-listview android-search

我无法在我的应用的搜索活动中显示结果。我想知道它出了什么问题。

以下功能的目的是搜索用户的输入查询,并在列出的每个文件中找到它。但是结果只匹配一个数据事件,尽管查询也存在于其他文件中。这是代码。

 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,看看代码是否遍历所有文件夹。是的,是的。但我不知道为什么它没有显示所有结果。

有任何帮助吗?谢谢!

1 个答案:

答案 0 :(得分:0)

在不同的帖子上找到答案。基本上,在直接设置适配器之前,您必须首先使用hashmap和arraylist。