我最近在我的应用中添加了一个SearchView。怎么办?看起来很多关于SearchView的Android教程都没有解释任何事情。
我想在我的应用程序中创建一个搜索功能,该功能从建筑物的ArrayList(我的应用程序中的一个类)中读取,允许用户从建筑物的完整名称和短名称中搜索并返回最接近的前5名火柴。但是,我不知道从哪里开始。 ArrayList中的类是使用CSV文件读取的。
基本上,我希望有一个SearchView可以搜索ArrayList中的String值以获取特定的匹配字符串。我该怎么做?
答案 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(","));