Использую SearchView и стандартный адаптер ArrayAdapter, с помощью adapter.getFilter().filter(newText); произвожу поиск, но стандартный поиск у метода getFilter работает только по первому слову, то есть он легко выведет 2 вариант по запросу "Авто" но по запросу "Автомобильное кре" вывод будет пустой, что делать?
Предполагаю что нужно использовать в адаптере .contains но свой адаптер не сумею сделать, есть идеи как поступить?
public class Menu extends AppCompatActivity {
static SearchView searchView;
static ListView listView;
static ArrayList < String > list;
ArrayAdapter < String > adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.version_1_activity_menu);
searchView = (SearchView) findViewById(R.id.svmenu);
listView = (ListView) findViewById(R.id.lv1);
list = new ArrayList < > ();
adapter = new ArrayAdapter < String > (this, android.R.layout.simple_list_item_1, list);
listView.setAdapter(adapter);
list.add("Справка");
list.add("Деталь для станка");
list.add("Чайник");
list.add("Автомобильное кресло");
list.add("Автомобильное кресло премиум");
list.add("Вопросы");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText); // ТуТ
return false;
}
});
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости