搜索小部件中的自定义建议(Android ICS)

搜索小部件中的自定义建议(Android ICS),android,search,android-4.0-ice-cream-sandwich,android-actionbar,Android,Search,Android 4.0 Ice Cream Sandwich,Android Actionbar,我的ICS应用程序中有一个带有搜索小部件的操作栏。我希望用户可以搜索一些东西来与应用程序。因此,我想使用搜索小部件,显示一个结果列表,当用户输入一个新字符时,该列表会更新自身(与Play Store的功能相同)。我已经在我的活动中实现了SearchView.OnQueryTextListener,并实现了两个方法onQueryTextChange(String newText)和onQueryTextSubmit(String query)。在onQueryTextChange中,我调用我的服务

我的ICS应用程序中有一个带有搜索小部件的操作栏。我希望用户可以搜索一些东西来与应用程序。因此,我想使用搜索小部件,显示一个结果列表,当用户输入一个新字符时,该列表会更新自身(与Play Store的功能相同)。我已经在我的活动中实现了
SearchView.OnQueryTextListener
,并实现了两个方法
onQueryTextChange(String newText)
onQueryTextSubmit(String query)
。在
onQueryTextChange
中,我调用我的服务,它返回类型化建议的值。但我没有计划,如何显示建议列表。我阅读了上的文章,但据我所知,主要是针对旧的搜索实现(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
,它引用了我的空白内容提供者的
searchSuggestAuthority
。在AnroidManifest中,我向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);
    }
}
比尔


我相信这些就是你需要的

本教程:

例如:


自从I/O之后,谷歌似乎已经更新了整个开发者部分。所以我将再次尝试进入该部分。:)第一个链接详细描述了它。你找到解决方案了吗?如果是,请与我分享