我在mapView内部的mapView没有加载,直到我点击mapView(大约8次完成整个地图的加载)
检查我的图片。第一张卡片视图我轻拍了8次。第二张卡片我没有点击,也没有加载任何东西
我的一些card_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/card_view"
android:layout_margin="5dp"
card_view:cardBackgroundColor="#ffffff"
card_view:cardCornerRadius="3dp"
card_view:cardElevation="3dp"
card_view:contentPadding="4dp"
android:foreground="?selectableItemBackground"
android:clickable="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_alignParentStart="true"
android:layout_below="@+id/item_image"
android:layout_marginTop="15dp"
android:layout_weight="1" />
</RelativeLayout>
</android.support.v7.widget.CardView>
我的一些RecyclerAdapter.java
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.card_layout, viewGroup, false);
ViewHolder viewHolder = new ViewHolder(v);
return viewHolder;
}
@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
viewHolder.itemTitle.setText(titles[i]);
viewHolder.itemDetail.setText(details[i]);
viewHolder.itemImage.setImageResource(images[i]);
viewHolder.mp.onCreate(null);
viewHolder.mp.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.getUiSettings().setZoomControlsEnabled(false);
double lat1 = Double.parseDouble("1.344376");
double lng1 = Double.parseDouble("103.862162");
LatLng bord = new LatLng(lat1, lng1);
mMap.addMarker(new MarkerOptions().position(bord).title("Marker on board"));
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(bord, 13.0f));
}
});
viewHolder.mp.postInvalidate();
}
希望你能提供帮助。
答案 0 :(得分:0)
在RecyclerView上查看使用lite Map的示例。
仔细检查“构造函数”,“ onMapReady”,“绑定”,“ onViewRecycled”方法