Android:如何搜索CSV文件或ArrayList并返回相应的结果?

时间:2015-09-23 20:51:17

标签: android search

我最近在我的应用中添加了一个SearchView。怎么办?看起来很多关于SearchView的Android教程都没有解释任何事情。

我想在我的应用程序中创建一个搜索功能,该功能从建筑物的ArrayList(我的应用程序中的一个类)中读取,允许用户从建筑物的完整名称和短名称中搜索并返回最接近的前5名火柴。但是,我不知道从哪里开始。 ArrayList中的类是使用CSV文件读取的。

基本上,我希望有一个SearchView可以搜索ArrayList中的String值以获取特定的匹配字符串。我该怎么做?

2 个答案:

答案 0 :(得分:0)

您需要另外ArrayList个搜索结果存储在哪里。你可以试试这个

    ArrayList<String> storedContent = new ArrayList<String>();
    ArrayList<String> contentArray = new ArrayList<String>();
    String searchText = "sometest";
    for(String each : storedContent){
        if (each.contains(searchText)){
            contentArray.add(each);
        }
    }

    ListView displaySearchResult = (ListView)findViewById(R.id.list_id);
    myListAdapter adapter = new myListAdapter(contentArray, this) ;
    displaySearchResult.setAdapter(myListAdapter);

您也可以使用each.matches(searchText)代替each.contains(searchText)功能。

登录就是这样,循环遍历csv文件或arraylist中的每个内容,并测试text(搜索查询)是否与{{1}中的部分字符串匹配}或arraylist文件。

答案 1 :(得分:0)

如果您已将CSV文件读取为字符串,则可以将其添加到ArrayList,如下所示:

List<String> list = Arrays.asList(csvString.split(","));