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

标签 android search android-4.0-ice-cream-sandwich android-actionbar

我的 ICS 应用程序中有一个带有搜索小部件的操作栏。我希望用户可以搜索应用程序附带的一些内容。因此,我想使用搜索小部件,显示一个结果列表,当用户输入新字符时该列表会自行更新(与 Play 商店的功能相同)。我在我的 Activity 中实现了 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 添加了一个搜索 Intent ,添加了元数据并添加了我的提供程序。但我不知道如何将我的值提供给内容提供者并将其显示为建议。

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,

我的 child

最佳答案

关于android - 搜索小部件中的自定义建议 (Android ICS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10883408/

相关文章:

android - 在 API 1.6 上部署 VerifyError

linux - 在多个服务器的 Linux 中搜索多个目录中的字符串

android - 在 Android Ice Cream Sandwich 上隐藏状态栏

android - 即使使用 setHomeButtonEnabled(true) 应用程序图标在 Android 14 中也不可点击

java - DataBindingUtil.setContentView 返回 null

android - 从 arraylist 中搜索任何文本

android - SQL 查询与搜索算法

android - 同时写入 3 个 edittext 字段

android camera2 createCaptureSession 已弃用

android - Android 应用程序自动更新时出现 "Package file was not signed correctly"错误