Java 膨胀类com.google.android.gms.maps.MapView时出错

Java 膨胀类com.google.android.gms.maps.MapView时出错,java,android,xml,google-maps,android-layout,Java,Android,Xml,Google Maps,Android Layout,我改变了我的代码如下 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { setContentView(R.layout.harita); } catch (Exception e) { e.pr

我改变了我的代码如下

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try
        {
        setContentView(R.layout.harita);
        }
        catch (Exception e) 
        {
            e.printStackTrace();
        }

        boolean kontrol = true; 
        Bundle bundle = getIntent().getExtras();

        String enlem = "";
        if(bundle.getString("enlem") != null)
        {
            enlem = bundle.getString("enlem");
        }
        else
        {
            kontrol = false;
        }

        String boylam = "";
        if(bundle.getString("boylam") != null)
        {
            boylam = bundle.getString("boylam");
        }
        else
        {
            kontrol = false;
        }

        String baslik = "";
        if(bundle.getString("baslik") != null)
        {
            baslik = bundle.getString("baslik");
        }
        else
        {
            kontrol = false;
        }

        if (kontrol == true) {
            GoogleMap map = ((MapFragment) getFragmentManager().findFragmentById(R.id.haritaFragment)).getMap();

            LatLng position = new LatLng(Double.parseDouble(enlem),Double.parseDouble(boylam));

            map.setMyLocationEnabled(true);
            map.moveCamera(CameraUpdateFactory.newLatLngZoom(position, 13));

            map.addMarker(new MarkerOptions().title(baslik).snippet("Baslik").position(position));
        }
    }
和我的布局

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/haritaFragment"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.MapFragment"/>

我还将此代码添加到Manifest.xml中

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

它的值与strings.xml中的值类似

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="google_play_services_version">4030500</integer>
</resources>

4030500
我换了密码。现在我在setContentView try catch块上遇到了类似“二进制XML文件行#2:错误膨胀类片段”的错误。

使用以下布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="com.google.android.gms.maps.MapFragment"/>

</LinearLayout>

可能出现的问题:

  • 您可能需要封装您的片段

  • 您的API级别应该超过8

  • 您应该从项目->属性->Android添加库

  • 如果您正在同一个工作区中运行地图演示,我建议将其删除

  • 此问题似乎与设备无关,但请尝试在设备上测试,而不是在模拟器上


请发布您的日志。您缺少
将此添加到您的清单中。查看我的答案…@thrasheadMyabe您需要在项目中设置与google play services库的链接