2012-06-04 3 views
4

У меня есть панель действий с виджем поиска в моем приложении ICS. Я хочу, чтобы пользователь мог искать некоторые материалы, которые поставлялись с приложением. Поэтому я хочу использовать виджет поиска, отображая список результатов, который обновляется, когда пользователь вводит новый символ (такие же функции, как в Play Маркете). Я применил SearchView.OnQueryTextListener в своей деятельности и реализовал два метода: onQueryTextChange(String newText) и onQueryTextSubmit(String query). В onQueryTextChange Я вызываю свою службу, которая возвращает значения для типизированного предложения. Но у меня нет плана, как отобразить список предложений. Я читал статьи на developer.android.com, но насколько я понимаю, это в основном для старой реализации поиска (< Honeycomb). В примерах API виджета поиска предложены приложения, установленные в системе, обслуживаемые SearchManager. Я не нашел учебник или пример, который охватывает эту тему (пользовательские предложения в виджетах поиска), кто-нибудь знает что-то вроде этого?Пользовательские предложения в Search Widget (Android ICS)

@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); 
    } 
} 

BR,

mybecks

+0

сделал и найти решение? если да, то, пожалуйста, поделитесь мной –

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^