Android 调用Google将API放置在RecyclerView中

Android 调用Google将API放置在RecyclerView中,android,google-places-api,Android,Google Places Api,我有一个RecyclerView,它的适配器使用GooglePlacesAPI获取关于地点ID的详细信息。然后,适配器在RecyclerView的每个元素中显示这些详细信息(例如地址) 是否有一种推荐的异步实现方法?在我当前的解决方案中,当用户向上或向下滚动时,位置地址有时会显示在不正确的RecyclerView元素中。此外,当点击RecyclerView元素以转到详细信息屏幕,然后返回原始屏幕时,RecyclerView中的某些位置地址丢失(可能在仍然从Places API获取详细信息时会出现

我有一个RecyclerView,它的适配器使用GooglePlacesAPI获取关于地点ID的详细信息。然后,适配器在RecyclerView的每个元素中显示这些详细信息(例如地址)

是否有一种推荐的异步实现方法?在我当前的解决方案中,当用户向上或向下滚动时,位置地址有时会显示在不正确的RecyclerView元素中。此外,当点击RecyclerView元素以转到详细信息屏幕,然后返回原始屏幕时,RecyclerView中的某些位置地址丢失(可能在仍然从Places API获取详细信息时会出现延迟)

public void onBindViewHolder(最终视图持有人v,内部位置){
Places.GeoDataApi.getPlaceById(GoogleAppClient,placeID)
.setResultCallback(新的ResultCallback(){
@凌驾
公共void onResult(PlaceBuffer places){
Place=places.get(0);
//在RecyclerView元素中显示地址
v、 address.setText(place.getName());
}
}

不要在
onbindviewholder
方法中点击api。因为每次滚动
recyclerview
时,都会执行
onbindviewholder
方法

如果您在activity或fragment中获取数据,然后将该数据存储在arraylist中并传递到
recyclerview
adapter,这会更好

而移动项目位置的问题是由于
recyclerview
recycle滚动上的每个项目造成的

因此,在您的
onbindviewholder
方法中,将此属性设置为
viewHolder

viewHolder.setIsRecyclable(false);
viewHolder.setIsRecyclable(false);