MapFragment Inflated通过EditText激活

时间:2016-09-21 05:39:27

标签: android android-alertdialog mapfragment

我在给地图充气方面遇到了问题。首先,如果我点击EditText它会启动,如果我取消/确定AlertDialog.Builder,再点击EditText会导致:

E/MapError: android.view.InflateException: Binary XML file line #10: Error inflating class fragment

逻辑是:我完成了地区和省份。通过MapFragment中的地区和省份来设置所选地区的相机位置&省,这是我唯一的问题,除了MapError。

sample

我的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"/>

我真的需要你的帮助。谢谢。

1 个答案:

答案 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>