Помещает автозаполнение поиска на панель инструментов

Я хочу сделать автозаполнение мест поиска Google в навигационном ящике. Вместо панели инструментов я хочу показать автозаполнение поиска, как приложение Google Maps, вот скриншот, показывающий, что мне нужно. Пожалуйста, дайте мне ответ... введите описание изображения  здесь


person Umashankar B    schedule 27.06.2016    source источник
comment
см. SearchView#setSuggestionsAdapter(CursorAdapter adapter)   -  person pskink    schedule 27.06.2016
comment
Пожалуйста, дайте мне ответ четко. У меня есть поиск, но мне нужен экран поиска, как указано выше.   -  person Umashankar B    schedule 27.06.2016
comment
Было бы лучше, если бы вы использовали FrameLayout.   -  person Aman Jain    schedule 27.06.2016


Ответы (1)


Вам нужно использовать фрагмент из Google Place Services. Вот пример использования этого фрагмента в XML:

<fragment
                    android:id="@+id/place_autocomplete_fragment"
                    android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_weight="1"/>  

Этот фрагмент должен представлять панель поиска, которую вы представляете выше. Этот фрагмент будет выполнять всю логику автозаполнения поиска Google Places. Ниже у вас также есть использование java этого фрагмента:

 PlaceAutocompleteFragment _autocompleteFragment = (PlaceAutocompleteFragment)
                getActivity()
                        .getFragmentManager()
                        .findFragmentById(R.id.place_autocomplete_fragment);
        _autocompleteFragment.setOnPlaceSelectedListener(_placeSelectedListener);

И реализация обратного вызова:

private PlaceSelectionListener _placeSelectedListener = new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            //Place model has all data about Location selected from search box
        }

        @Override
        public void onError(Status status) {
        }
    };

Для получения дополнительной информации вы можете проверить документацию: https://developers.google.com/places/android-api/autocomplete

person markView    schedule 27.06.2016