我是这里的新手,希望你能帮助我明白我的一些理解(或误解)。我已经阅读了几天,并尝试基于Android指南实现搜索功能,但它确实没有很好的工作。也许我的整个概念都是错误的,所以如果你能善待,请帮助我。
我有一个应用程序,其数据来自远程xml,我想实现搜索功能。我有一个主要活动(在我的SRC - >我的包下)列出了从xml中检索到的所有数据。我的问题:
1)在指南中,我们看到我们必须定义一个.Searchable Activity。我以为这是处理搜索查询并存储结果?如果是这种情况,我是否需要创建新活动,或者我可以将我的主要活动用作.Searchable Activity?
2)完成上述项目后,我想我需要创建一个活动来接收结果并做一些事情。我接受它,因为我需要在项目1中定义的活动中创建“公共类SearchableActivity extends ListActivity”?问题是我不知道该怎么做,因为指南不完整。
3)假设我成功完成并在搜索时返回了一些结果,如何在主要活动中显示(或过滤以显示搜索结果)?我不希望有另一个UI来显示结果,因为我更喜欢它只是获取过滤器来显示匹配的记录
4)最后,由于我的数据来自远程xml,我是否需要基于远程xml“搜索”,否则它将根据应用程序上的缓存信息进行搜索?
我很抱歉这么无知,但我是全新的,希望你能帮助我。到目前为止,我没有问题,让我的操作栏上显示对话框。唯一的问题是搜索根本不起作用:(搜索时,没有任何事情发生。
非常感谢提前。干杯!
答案 0 :(得分:0)
要在列表中搜索,您可以使用android的内置函数,但如果您想要一个好的结果,您可以使用自己的函数。最简单的功能是:
for(int i = 0 ; i < arraylisy.size() ; i++)
{
if(arraylist.get(i) == youobject)
return true;
}
return false;
但是您可以使用更好的功能,例如binary search。 现在,如何创建搜索活动?
首先:创建XML文件并在其中添加listview
第二步:创建java文件并将xml文件链接到它
现在使用上面的代码来搜索列表中的对象。如果在每次搜索中都找到了几个项目,则将它们添加到新的列表视图中。
现在创建一个适配器并将搜索列表发送给它 最后将适配器设置为listview。