5

ICS アプリに検索ウィジェット付きのアクション バーがあります。ユーザーがアプリに付属しているものを検索できるようにしたい。したがって、検索ウィジェットを使用して、ユーザーが新しい文字を入力すると更新される結果リストを表示します (Play ストアと同じ機能)。私はSearchView.OnQueryTextListener自分のアクティビティに実装し、 と の 2 つのメソッドonQueryTextChange(String newText)を実装しましたonQueryTextSubmit(String query)onQueryTextChangeI call my service では、入力された提案の値が返されます。しかし、提案リストをどのように表示するか、私には計画がありません。developer.android.comの記事を読みましたが、私が理解している限り、主に古い検索実装 (< Honeycomb) に関するものです。Search Widget API の例では、システムにインストールされ、提供されるアプリが提案されています。SearchManager. このトピック (検索ウィジェットのカスタム提案) をカバーするチュートリアルや例が見つかりませんでした。誰かこのようなことを知っていますか?

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.search_menu, menu);
       
        
        
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        
        SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();    
        
        
        searchView.setOnQueryTextListener(this);
        return super.onCreateOptionsMenu(menu);
    }

@Override
    public boolean onQueryTextChange(String newText) {
        Log.i(TAG, "Query = " + newText);
        
      if(newText.length() > 0){
          //my suggestion service, returning an arraylist!
      }
        
        return false;
    }

ContentProviderから拡張する必要があることを読みましたが、SearchRecentSuggestionsProviderこのプロバイダーの処理方法と作成方法がわかりません。空のコンテンツ プロバイダsearchable.xmlを参照する があります。searchSuggestAuthorityAnroidManifest で、検索インテントを MainActivity に追加し、メタデータを追加して、プロバイダーを追加しました。しかし、自分の値をコンテンツ プロバイダーに取得し、提案として表示する方法がわかりません。

public class SuggentionsProvider extends SearchRecentSuggestionsProvider {
    public final static String AUTHORITY = "com.sap.hui.helper.SuggentionsProvider";
    public final static int MODE = DATABASE_MODE_QUERIES;
    
    public SuggentionsProvider(){
        setupSuggestions(AUTHORITY, MODE);
    }
}

ブラジル、

マイベックス

4

1 に答える 1

4

これらはあなたが必要としているものだと思います。

チュートリアル:

http://developer.android.com/guide/topics/search/adding-custom-suggestions.html

例:

http://developer.android.com/tools/samples/index.html

于 2012-07-05T07:40:05.490 に答える