Как получить отдельные ответы в FindCurrentPlaceResponse, которые впоследствии могут быть выбраны отдельно - PullRequest
0 голосов
/ 06 апреля 2019

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

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

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

@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));
  }

1 Ответ

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

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

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