地图v2 Android中的错误视图?
我使用actionbar选项卡和ViewPager创建选项卡并在选项卡之间滑动。我将SherlockFragmentActivity用于选项卡页面适配器,并用于每个项目扩展片段。这个项目在locationmap pagefragment中的所有页面第一次都可以使用,但是当我更改选项卡,然后第二次返回时,locationmap页面崩溃。 错误行:视图地图v2 Android中的错误视图?,android,android-viewpager,android-view,android-maps-v2,Android,Android Viewpager,Android View,Android Maps V2,我使用actionbar选项卡和ViewPager创建选项卡并在选项卡之间滑动。我将SherlockFragmentActivity用于选项卡页面适配器,并用于每个项目扩展片段。这个项目在locationmap pagefragment中的所有页面第一次都可以使用,但是当我更改选项卡,然后第二次返回时,locationmap页面崩溃。 错误行:视图 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bun
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_location_map, container, false);
return view;
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
您的问题与您试图在碎片中膨胀碎片这一事实有关。您应该扩展SupportMapFragment,而不是将其包装为另一个片段。删除布局文件并删除onCreateView方法。然后使LocationMapFragment扩展SupportMapFragment
谢谢你,伊格林,我能解决我的问题 完整代码:
public class LocationMapFragment extends SupportMapFragment {
private LatLng mPosition;
public LocationMapFragment() {
super();
}
public static LocationMapFragment newInstance(LatLng posicion){
LatLng l=new LatLng(35.722838,51.371342);
LocationMapFragment frag = new LocationMapFragment();
frag.mPosition; = l;
return frag;
}
@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
View v = super.onCreateView(arg0, arg1, arg2);
initMap();
return v;
}
private void initMap(){
UiSettings settings = getMap().getUiSettings();
settings.setAllGesturesEnabled(false);
settings.setMyLocationButtonEnabled(false);
LatLng mPath=new LatLng(35.722838,51.371342);
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(mPath,16));
getMap().addMarker(new MarkerOptions().position(mPath).icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
getJson();
}
}
您能发布错误完整堆栈跟踪的日志吗?11-26 12:11:02.328:E/AndroidRuntime20769:由以下原因引起:java.lang.IllegalArgumentException:Binary XML文件第2行:重复id 0x7f050039、标记null或父id 0x0以及com.google.android.gms.maps.SupportMapFragments的另一个片段任何人都帮不了我吗?非常感谢,但这对我来说是个错误。你能给我们完整的代码吗?
public class LocationMapFragment extends SupportMapFragment {
// code here without onCreateView
}
public class LocationMapFragment extends SupportMapFragment {
private LatLng mPosition;
public LocationMapFragment() {
super();
}
public static LocationMapFragment newInstance(LatLng posicion){
LatLng l=new LatLng(35.722838,51.371342);
LocationMapFragment frag = new LocationMapFragment();
frag.mPosition; = l;
return frag;
}
@Override
public View onCreateView(LayoutInflater arg0, ViewGroup arg1, Bundle arg2) {
View v = super.onCreateView(arg0, arg1, arg2);
initMap();
return v;
}
private void initMap(){
UiSettings settings = getMap().getUiSettings();
settings.setAllGesturesEnabled(false);
settings.setMyLocationButtonEnabled(false);
LatLng mPath=new LatLng(35.722838,51.371342);
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(mPath,16));
getMap().addMarker(new MarkerOptions().position(mPath).icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
getJson();
}
}