У меня есть RecyclerView, чей адаптер извлекает сведения об идентификаторе места с помощью API Google Адресов. Затем адаптер отображает эти детали (например, адрес места) в каждом элементе RecyclerView.Вызов API Google Адресов в RecyclerView
Есть ли рекомендуемый способ достижения этого асинхронно? В моем текущем решении адреса места иногда отображаются в некорректном элементе RecyclerView, когда пользователь прокручивается вверх или вниз. Также, когда вы нажимаете элемент RecyclerView для перехода на экран подробных данных, а затем возвращаетесь к исходному экрану, некоторые адреса места отсутствуют в RecyclerView (предположительно, существует задержка, когда детали все еще извлекаются из API-интерфейсов Places) ,
public void onBindViewHolder(final ViewHolder v, int position) {
Places.GeoDataApi.getPlaceById(googleApiClient, placeID)
.setResultCallback(new ResultCallback<PlaceBuffer>() {
@Override
public void onResult(PlaceBuffer places) {
Place place = places.get(0);
// Display address in the RecyclerView element
v.address.setText(place.getName());
}
}