Проблема с методом onQueryTextChange () - PullRequest
0 голосов
/ 05 февраля 2020

Я недавно работал над проектом Android Studio для моих финалов. Я столкнулся с проблемой с одним из моих методов. Одним из моих занятий является занятие с панелью SearchView, ListView, MapView. У меня есть список из трех «поездок» (поездка содержит: название, расстояние, тип [велосипед, пешком, на машине]). MapView показывает трек 3 поездки. Панель SearchView фильтрует ListView в пределах заданной буквы (например, пусть названия трех поездок будут: «AA», «AB», «BB». Если «A» записано в панели поиска, фильтры «List» и только «AA») "," AB "показаны). Но в MapView он фильтрует поездки на карте по первой букве - только когда написана вторая буква.


Пример:

ЕСТЕСТВЕННОЕ СОСТОЯНИЕ:

Панель SearchView: ""

ListView: "AA", "AB", "BB"

MapView показывает трек: "AA "," AB "," BB "

ШАГ 1:

Панель поиска:" A "

Фильтры ListView для:" AA ", «AB»

MapView показывает треки: «AA», «AB», «BB»

ШАГ 2:

Панель поиска: «AB»

Фильтры ListView для: «AB»

MapView показывает дорожки: «AA», «AB»


OnQueryTextChange () ссылка: https://developer.android.com/reference/android/widget/SearchView.OnQueryTextListener


@Override
    public boolean onQueryTextChange(String newText) {
        filteredAdapter.getFilter().filter(newText);
        filteredAdapter.notifyDataSetChanged();
        ArrayList<Trip> copy = new ArrayList<>();
        for (int i = 0; i < filteredAdapter.getCount(); i++) {
            copy.add((Trip) filteredAdapter.getItem(i));
        }
        filtered.clear();
        filtered.addAll(copy);
        filteredAdapter.notifyDataSetChanged();
        showMarkers();
        return false;
    }

Я был бы рад получить помощь от кого-либо!

...