【问题标题】:What is the Search Type Of android SearchView?android SearchView 的搜索类型是什么?
【发布时间】:2017-09-06 11:23:02
【问题描述】:

在提供 UI 的 Android SearchView 小部件中。 它将搜索查询并向搜索提供者提交请求。

BinarySearch 等集合提供了不同类型的搜索查询...

Android Widget SearchView 执行什么样的搜索查询?

(BinarySearch 或 LinerSearch 或其他任何东西...)

【问题讨论】:

  • 看着this,它最终提出了一个行动为ACTION_SEARCH的意图。如果我们能弄清楚 android 是如何处理这些意图的。
  • @AmitBarjatya 我认为文档中的this section 可能就是您要查找的内容。

标签: android searchview


【解决方案1】:

由应用程序开发人员搜索数据并将结果提供给搜索小部件。搜索小部件为应用程序执行搜索提供了一个框架,但不直接搜索数据。来自Creating a Search Interface:

搜索您的数据

存储和搜索数据的过程是您的应用程序独有的。您可以通过多种方式存储和搜索数据,但本指南不会向您展示如何存储和搜索数据。根据您的需求和数据格式,您应该仔细考虑存储和搜索数据。

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

【讨论】:

    【解决方案2】:

    如果您询问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;
        }
    

    【讨论】:

    • 我知道如何实现.. 我只是想知道搜索查询的类型。
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-05-07
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多