Guys can not figure out how to make a filter when entering data in Searchview. Does not want to filter the entered data.

public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.app_bar_search); final SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); final List<String> suggestions = Arrays.asList(getResources().getStringArray(R.array.mycity)); final CursorAdapter suggestionAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, null, new String[]{SearchManager.SUGGEST_COLUMN_TEXT_1}, new int[]{android.R.id.text1}, 0); searchView.setSuggestionsAdapter(suggestionAdapter); searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() { @Override public boolean onSuggestionSelect(int position) { return false; } @Override public boolean onSuggestionClick(int position) { searchView.setQuery(suggestions.get(position), true); searchView.clearFocus(); return true; } }); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { return false; } @Override public boolean onQueryTextChange(String newText) { String[] columns = { BaseColumns._ID, SearchManager.SUGGEST_COLUMN_TEXT_1, }; MatrixCursor cursor = new MatrixCursor(columns); for (int i = 0; i < suggestions.size(); i++) { String[] tmp = {Integer.toString(i),suggestions.get(i),suggestions.get(i)}; cursor.addRow(tmp); } suggestionAdapter.swapCursor(cursor); return true; } }); return super.onCreateOptionsMenu(menu); } 

Where to dig, what to watch, what is missing.

  • First, remove everything from the onCreateOptionsMenu method. here only the menu should be created. you look and decide for yourself when the code is structural - Flippy
  • I think one thing is not a hindrance. It may not be entirely correct, but the question was a bit different. - Ktulxy
  • Guys help to understand why the right word is not selected when typing. I tried the whole Internet, the design is absolutely working, maybe I just missed some trifle somewhere. - Ktulxy

0