[英]Custom Suggestions in Search Widget (Android ICS)
我的ICS應用程序中有一個帶有搜索小部件的操作欄。 我希望用戶可以搜索應用程序附帶的一些東西。 因此,我想使用搜索小部件,顯示一個結果列表,當用戶使用新的字符(與Play商店相同的功能)時,該列表會自動更新。 我在我的活動中實現了SearchView.OnQueryTextListener
,並在onQueryTextChange(String newText)
和onQueryTextSubmit(String query)
實現了兩個方法。 在onQueryTextChange
我調用我的服務,返回鍵入的建議的值。 但我沒有計划,如何顯示建議清單。 我閱讀了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;
}
我讀過,我需要從SearchRecentSuggestionsProvider
擴展ContentProvider
,但我不知道如何處理和創建這個提供程序。 我有一個searchable.xml
, searchSuggestAuthority
到我的空白內容提供者。 在AnroidManifest中,我向MainActivity添加了一個搜索意圖,添加了元數據並添加了我的提供者。 但我不知道如何將我的值提供給Content Provider並將其顯示為建議。
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);
}
}
BR,
mybecks
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.