安卓SearchView的搜索类型是什么?

11

在Android中,SearchView小部件提供了一个用户界面(UI)。它会搜索查询并向搜索提供程序提交请求。

有不同类型的搜索查询,由集合(Collection)提供,例如BinarySearch(二分查找)...

Android Widget SearchView执行哪种类型的搜索查询?

(BinarySearch 或 LinerSearch 或其他任何类型...)


看一下这个,最终会使用ACTION_SEARCH作为操作来触发一个意图。如果我们能够弄清楚Android如何处理这样的意图就好了。 - Amit Barjatya
1
@AmitBarjatya 我认为这个部分的文档可能是你正在寻找的。 - Cheticamp
3个回答

8
搜索小部件提供了一个框架,使应用能够执行搜索操作,但是由应用程序开发人员搜索数据并向搜索小部件提供结果。从创建搜索界面

搜索您的数据

存储和搜索数据的过程对于您的应用程序是独特的。您可以以许多方式存储和搜索数据,但本指南不展示如何存储和搜索数据。存储和搜索数据是需要仔细考虑您的需求和数据格式的事项。

因此,您可以按照最适合数据存储和组织方式的方式搜索数据。

5
如果您询问关于android.widget.SearchView的问题,您可以实现接口android.widget.SearchView.OnQueryTextListener并在其中执行任何操作。
例如,让我们将OnQueryTextListener创建为Activity的一部分:
public class MyActivity implements OnQueryTextListener{

    @Override
    protected void onCreate(Bundle savedInstanceState){

        ...

        SearchView s=new SearchView(this);
        s.setFitsSystemWindows(true);
        s.setMaxWidth(Integer.MAX_VALUE);
        s.setIconifiedByDefault(false);
        s.setOnQueryTextListener(this);  // <--- this sets listener

        ...

    }

现在有两种方法需要你实现:

    @Override
    public boolean onQueryTextChange(String newText){
        return false;  // <--- you can leave it empty!
    }

    @Override
    public boolean onQueryTextSubmit(String query){
        if(!query.isEmpty()){
            do_something_on_user_post();
        }
        return false;
    }

我知道如何实现...我只是想知道搜索查询的类型。 - Learning Always

4

一个安卓"小部件"用于执行搜索,但并不直接搜索数据。需要自己实现搜索算法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接