我在给地图充气方面遇到了问题。首先,如果我点击EditText
它会启动,如果我取消/确定AlertDialog.Builder
,再点击EditText
会导致:
E/MapError: android.view.InflateException: Binary XML file line #10: Error inflating class fragment
逻辑是:我完成了地区和省份。通过MapFragment
中的地区和省份来设置所选地区的相机位置&省,这是我唯一的问题,除了MapError。
我的Map
代码:
//START MAP FRAGMENT DIALOG
public void alertOrgMapSetMarker(){
LayoutInflater layoutInflater = getLayoutInflater();
View getView = layoutInflater.inflate(R.layout.map_inflate_org,null);
mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map_fragment_org);
AlertDialog.Builder alertMap = new AlertDialog.Builder(AdminCreateEventActivity.this,R.style.AlertDialogCustom);
alertMap.setTitle("Mark Location")
.setView(getView)
.setCancelable(false)
.setPositiveButton("Set", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
AlertDialog mapDialog = alertMap.create();
mapDialog.show();
}
我不能从这行代码中getView
。为了控制。我想要@Override -
setMapClickListener
mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map_fragment_org);
我的虚增的XML:map_inflate.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"
android:id="@+id/map_fragment_org"
map:cameraBearing="112.5"
map:cameraTargetLat="10.3157"
map:cameraTargetLng="123.8854"
map:cameraTilt="45"
map:cameraZoom="30"
map:mapType="normal"
map:uiCompass="true"
map:uiRotateGestures="true"
map:uiScrollGestures="true"
map:uiTiltGestures="true"
map:uiZoomControls="true"
map:uiZoomGestures="true"
tools:ignore="MissingPrefix"/>
我真的需要你的帮助。谢谢。
答案 0 :(得分:0)
我建议在片段中使用MapView
作为地图:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.gms.maps.MapView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/map_fragment_org" />
</FrameLayout>