Преобразование ArrayAdapter в CursorAdapter для использования в SearchView

. Как я могу преобразовать ArrayAdapter<String>статических данных в CursorAdapterдля использования Suggestion Listener в SearchView? Я построил ArrayAdapter<String>из статических данных (allString)

ArrayAdapter<String> searchAdapter = new ArrayAdapter<String>(context, R.layout.listitem, allString);

. и я использую его для MultiAutoCompleteTextView, который отлично работает на устройствах с уровнем API ниже 11

MultiAutoCompleteTextView findTextView.setAdapter(searchAdapter);

Однако мой целевой API имеет уровень 11, а для API> 10 я использую ActionBar, в котором вместо этого я хотел бы иметь SearchView.

Вот что я пробовал :Он показывает ActionBarсо встроенным SearchView, но не дает никаких предложений, как это было бы в MultiAutoCompleteTextView.

@Override
public boolean onCreateOptionsMenu(Menu menu) {     
        MenuInflater inflater = getMenuInflater();

         if (android.os.Build.VERSION.SDK_INT > 10){
             inflater.inflate(R.menu.menu11, menu);
             searchView = (SearchView) menu.findItem(R.id.MENU_SEARCH).getActionView();
             int[] to = {0};
             CursorAdapter cursorAdapter = new SimpleCursorAdapter(context, R.layout.listitem, null, allBusStopString, to);
             searchView.setSuggestionsAdapter(cursorAdapter);
             searchView.setOnSuggestionListener(new OnSuggestionListener() {

                @Override
                public boolean onSuggestionClick(int position) {
                    String selectedItem = (String)cursorAdapter.getItem(position);
                    Log.v("search view", selectedItem);
                    return false;
                }

                @Override
                public boolean onSuggestionSelect(int position) {
                    return false;
                }
             });  
         }else{
             inflater.inflate(R.menu.menu, menu);
         }

    return true;
}
21
задан Behzad Momahed Heravi 24 July 2012 в 10:01
поделиться