Как получить отдельные ответы в FindCurrentPlaceResponse, которые впоследствии можно выбрать отдельно

Мне нужно сделать действие, которое позволяет пользователю нажимать кнопку getLocation, которая, в свою очередь, возвращает список мест в соответствии с оценкой вероятности. ответ от FindCurrentPlaceResponse возвращает 20 элементов, которые я хотел бы, чтобы они были в виде списка или карточек, из которых пользователь, наконец, выбирает наиболее подходящее место. Как заставить ответ возвращать отдельные места, которые можно поместить в интерактивный список?

Я следовал и полностью использовал документы Google Places по адресу https://github.com/googlemaps/android-places-демо для своей деятельности.

это точный код из документов, где список преобразуется в одну строку

@RequiresPermission(allOf = {ACCESS_FINE_LOCATION, ACCESS_WIFI_STATE})
private void findCurrentPlaceWithPermissions() {
setLoading(true);

    FindCurrentPlaceRequest currentPlaceRequest = FindCurrentPlaceRequest.newInstance(getPlaceFields());
    Task<FindCurrentPlaceResponse> currentPlaceTask = placesClient.findCurrentPlace(currentPlaceRequest);


    currentPlaceTask.addOnSuccessListener(
        (response) ->
            responseView.setText(StringUtil.stringify(response, isDisplayRawResultsChecked())));

    currentPlaceTask.addOnFailureListener(
        (exception) -> {
          exception.printStackTrace();
          responseView.setText(exception.getMessage());
        });

    currentPlaceTask.addOnCompleteListener(task -> setLoading(false));
  }

Я не понимаю, он уже возвращает 20, что он считает правдоподобным; это то, что вы хотите в списке?

keepTrackOfYourStack 06.04.2019 20:21

да. он возвращает 20, но все результаты объединяются в одну строку, отображаемую в текстовом представлении. что мне нужно, так это получить отдельные места, которые можно извлечь по отдельности

Dev Bramm 06.04.2019 22:52
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
95
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Stringify делает это. Сам ответ уже является «ответами». Вам может понадобиться интерфейс с обратным вызовом для добавления результатов в список плиток.

// The callback interface
interface MyCallback {
void callbackCall(List<String> response);
}

// The class that takes the callback
class Worker {
MyCallback callback;

void onEvent(List<String> response) {
  callback.callbackCall(response);
   }
}

// Option 1: MainActivity or where the list is

class Callback implements MyCallback {
  void callbackCall() {
   // callback code goes here
   // update your adaptor 


   }
 }

worker.callback = new Callback();

// Option 2:

worker.callback = new MyCallback() {

void callbackCall(List<String> results ) {
  // callback code goes here

   }
};

Спасибо. Я проверил stringify, и он фактически получает «ответы» на одну длинную строку. Любая ссылка или образец такого интерфейса были бы очень полезны.

Dev Bramm 06.04.2019 23:38

Другие вопросы по теме