Как внедрить AutoCompleteFragment в 2019 году после отмены - PullRequest
0 голосов
/ 08 апреля 2019

Попытка заставить фрагмент автозаполнения работать в моем коде. TAG вызывает ошибку в коде, если удалить оператор Log, это вызывает ошибку для всего абзаца. это также не позволяет мне TAG создать переменную для тега, чтобы удалить ошибку, если я сделаю это, весь абзац также получит ошибку.

Пройдены этапы устаревания, добавлены новые зависимости и импорт, и он все равно не будет работать ...

также API Places определенно уже включен

AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
                getSupportFragmentManager().findFragmentById(R.id.autocomplete_fragment);

        autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));

        autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
            @Override
            public void onPlaceSelected(Place place) {
                // TODO: Get info about the selected place.
                Log.i(TAG, "Place: " + place.getName() + ", " + place.getId());
            }

            @Override
            public void onError(Status status) {
                // TODO: Handle the error.
                Log.i(TAG, "An error occurred: " + status);
            }
        });

1 Ответ

0 голосов
/ 08 апреля 2019

Тем временем Places SDK for Android предоставляет этот API:

dependencies {
    implementation "com.google.android.gms:play-services-places:16.0.0"
    implementation "com.google.android.libraries.places:places:1.0.0"
}

AutocompleteSupportFragment в этом пакете не считается устаревшим, но весь пакет, который вы используете.См. Руководство по миграции , если у вас уже может быть какой-то код, который работает с этим устаревшим пакетом.


И если TAG неизвестно, вы, вероятно, должны определить его;например:

private static final String TAG = "PlacesActivity";
...