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

5
我在我的ICS应用程序中有一个带有搜索小部件的操作栏。我希望用户可以搜索随应用程序一起提供的某些内容。因此,我想使用搜索小部件,在用户键入新字符时显示更新自身的结果列表(与Play Store相同的功能)。我在我的活动中实现了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;
    }

我看到需要一个ContentProvider继承自SearchRecentSuggestionsProvider,但我不知道如何处理和创建此提供程序。我有一个searchable.xml文件,其中将searchSuggestAuthority指向我的空白内容提供程序。在AndroidManifest中,我添加了一个搜索意图到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);
    }
}

BR,

mybecks


你找到解决方案了吗?如果是的话,请分享给我。 - Raneez Ahmed
1个回答

4

看起来自 I/O 以来,谷歌已经更新了整个开发者部分。所以我会再次尝试进入它。 :) - mybecks
第一个链接详细描述了它。 - Rohit Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接