我有一个水平的图像列表,当我点击图像时,它会加载一个对话框片段。该对话框片段包含一个ViewPager。视图寻呼机在PagerAdapter中加载MapFragment。我就是这样做的,
@Override
public Object instantiateItem(ViewGroup collection, int position) {
final LoyaltyOutlet outlet = data.get(position);
LayoutInflater inflater = LayoutInflater.from(context);
ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.fragment_shop_item, collection, false);
TextView address = (TextView)layout.findViewById(R.id.txt_ShopAddress);
SupportMapFragment mapFragment = (SupportMapFragment) fragmentManager.findFragmentById(R.id.shopMap);
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
// Adding a marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(outlet.getLattitude(), outlet.getLongitude())).title(
outlet.getOutletName());
marker.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_ORANGE));
googleMap.addMarker(marker);
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(outlet.getLattitude(), outlet.getLongitude()), 10);
googleMap.animateCamera(cameraUpdate);
}
});
// GoogleMap googleMap = ((SupportMapFragment) fragmentManager.findFragmentById(R.id.shopMap)).getMap();
address.setText(outlet.getOutletName() +"\n"+outlet.getOutletBulding()+" "+outlet.getOutletStreet()+"\n"+outlet.getOutletLocality());
collection.addView(layout);
return layout;
}
这是我的情景。最初,当屏幕加载了水平图像列表时,我点击图像以加载带有地图的DialogFragment。在初始加载时它工作正常。现在,如果我再次加载相同的Dialog片段,我会收到一个错误,它会在instantiateItem中扩展布局,
android.view.InflateException:二进制XML文件行#38:错误 膨胀类片段
这是fragment_shop_item.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:attrs="http://schemas.android.com/apk/res-auto">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".25">
<com.mobytz.utils.CustomFontTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/txt_ShopAddress"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
attrs:customFont="handy_bold"
android:textColor="@color/android:black"
android:textSize="8pt"
android:layout_marginLeft="10dp"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".75">
<fragment
android:id="@+id/shopMap"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
</LinearLayout>
</FrameLayout>
不确定这里出了什么问题。
感谢。