2017-09-06 59 views
11

在提供UI的Android SearchView小部件中。 它将搜索查询并向搜索提供者提交请求。什么是android SearchView的搜索类型?

有不同类型的像二分查找类别提供的搜索查询的...

通过Android小工具搜索查看执行什么样的搜索查询的?

(二分查找或者LinerSearch或其他任何东西......)

+0

看着[这](ht tps://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/SearchView.java),它最终引发了一个动作为ACTION_SEARCH的意图。如果我们只能弄清楚android如何处理这种意图。 –

+1

@AmitBarjatya我认为[本节](https://developer.android.com/guide/topics/search/search-dialog.html#SearchableActivity)的文档可能是你正在寻找的。 – Cheticamp

回答

8

它是由应用程序开发者来搜索数据和结果提供给搜索小工具。搜索小部件为应用程序执行搜索提供了一个框架,但不直接搜索数据。从Creating a Search Interface

搜索数据

存储和搜索您的数据是唯一的应用程序的过程。您可以通过多种方式存储和搜索数据,但本指南不会告诉您如何存储数据并进行搜索。根据您的需求和数据格式,存储和搜索数据是您应该仔细考虑的问题。

因此,您可以按照对数据存储和组织方式最有意义的方式来搜索数据。

5

如果你问关于android.widget.SearchView,你可以实现接口android.widget.SearchView.OnQueryTextListener并做任何你想要的东西。

例如,让我们创建OnQueryTextListener为活动的一部分:

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; 
    } 
+0

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

4

版本的Android “的Widget” 是执行搜索但不直接搜索数据 你实现自己的搜索算法