Передать строку поиска дополнительно как намерение в автозаполнение Google - PullRequest
0 голосов
/ 23 октября 2018

У меня есть активность перед переходом на autocomplete activity.Я хочу отправить данные из предыдущего действия в виде String extra в автозаполнение Google и отобразить их в виде строки запроса на панели поиска.Возможно ли это?

Вот мой код

Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN).build(this);
startActivityForResult(intent, REQUEST_GOOGLE_PLACE_AUTOCOMPLETE);

enter image description here

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

До сих пор я не мог получить решения, поэтому я попытался проверить PlaceAutocomplete.class и нашел решение, которое искал.

, посмотрев на

public final PlaceAutocomplete.IntentBuilder zzh(@Nullable String var1) {
        if (var1 != null) {
            this.intent.putExtra("initial_query", var1);
        } else {
            this.intent.removeExtra("initial_query");
        }

        return this;
    }

И позвонив по номеру Intent intent = new PlaceAutocomplete.IntentBuilder(PlaceAutocomplete.MODE_FULLSCREEN).zzh("dasdas").build(this);

, проблема решена.Сохранение для дальнейшего использования

0 голосов
/ 23 октября 2018

Решение:

Да, это возможно.Пожалуйста, следуйте инструкциям:

Шаг 1: Отправьте строку поиска из одного действия в другое, используя intent.putExtra(..) [как мы всегда делаем]

Шаг 2: Получить строку в следующем действии, используя getStringExtra(..) [как мы всегда делаем]

Шаг 3: Объявить глобальный объект до onCreate():

public PlaceAutocompleteFragment autocompleteFragment;

Step4: Инициализируйте его:

autocompleteFragment = (PlaceAutocompleteFragment)
getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);

Step5: Далее, приведите строку поиска к EditText и установите строку как текст, как показано ниже:

((EditText)autocompleteFragment.getView().findViewById(R.id.place_autocomplete_search_input)).setText(your_string); [from previous activity]

Примечание: не меняйте эту строку getView().findViewById(R.id.place_autocomplete_search_input) она должна быть такой же, как показано в этом решении.

Вот и все,Надеюсь, это полезно для вас.Любые вопросы, пожалуйста, прокомментируйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...