2017-09-06 4 views
11

UIを提供するAndroid SearchViewウィジェットで。 クエリを検索し、検索プロバイダにリクエストを送信します。android SearchViewの検索タイプとは何ですか?

BinarySearchなどのコレクションが提供する検索クエリの異なる種類があります...

AndroidのウィジェットSearchViewによって実行される検索クエリのどのような?

(BinarySearchまたはLinerSearchそれとも何か他のもの...)

+0

[this](ht tps://github.com/aosp-mirror/platform_frameworks_base/blob/master/core/java/android/widget/SearchView.java)、最終的にACTION_SEARCHというアクションでインテントを生成します。もし我々がアンドロイドがそのような意図をどう扱うかを理解できるならば。 –

+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

アンアンドロイド「ウィジェットは、」検索を実行することですデータを直接検索しない 独自の検索アルゴリズムを実装する

関連する問題