当前位置: 首页 > 知识库问答 >
问题:

Google Maps V2-inflating类片段时出错

羊舌诚
2023-03-14

我正在尝试我的手和Android应用程序开发。我目前正在使用Eclipse(我不记得版本,无论最新版本是什么)。我已经跨过了一座桥梁,我似乎无法理解我做错了什么。我正在尝试使用Google Maps V2 API。我浏览了几个文档并尝试了几种技术,所有这些都导致了相同的错误:

Android.view.Inflate Exception: Binary XML file line #2: Error inflating class fragment

我已经连续两天把脸贴在钥匙上,试图弄明白我做错了什么。

我做过的事情:

  1. 从一个空白活动开始。
  2. 项目-

我试过很多类似问题的不同答案,但都没有用(我通常能把这些事情弄清楚,但可能是我负担过重了。

我在Eclipse中的包资源管理器树看起来像

  1. google-play-services\u lib
  2. Svma公司

代码如下:

activity\u main。xml

<?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"/>

显示

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.testing.svma"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="17" />

    <permission
        android:name="com.testing.svma.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission android:name="com.testing.svma.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.testing.svma.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="SHA1_Generated_KEY_HERE" />
    </application>

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />
</manifest>

MainActivity.java

package com.testing.svma;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


    }
}

参考文件

>

  • 我在谷歌地图上使用了“错误inflating类片段”来解决我的问题。

    我引用了这本谷歌地图快速入门指南来创建我的项目。

    我最初是从Google Maps Android V2 Api简介中的示例代码开始的

    一大堆这样的问题。

    那么,那么社区,我做错了什么?为什么我不能理解这个简单的概念。

    提前谢谢你。

  • 共有3个答案

    黄仲渊
    2023-03-14

    我有同样的问题,通过修改清单解决了它。这是我的清单。

     <?xml version="1.0" encoding="utf-8"?>
            <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                package="example.gps"
                android:versionCode="1"
                android:versionName="1.0" >
    
            <permission 
                   android:name="example.gps.permission.MAPS_RECEIVE" 
                   android:protectionLevel="signature"></permission>
          <!-- Copied from Google Maps Library/AndroidManifest.xml. -->
             <uses-sdk
               android:minSdkVersion="9"
               android:targetSdkVersion="17"/>
             <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
             <uses-permission android:name="android.permission.INTERNET"/>
             <uses-permission      android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
          <!-- External storage for caching. -->
             <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
          <!-- My Location -->
             <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
             <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
          <!-- Maps API needs OpenGL ES 2.0. -->
             <uses-feature
                android:glEsVersion="0x00020000"
                android:required="true"/>
          <!-- End of copy. -->
    
            <application
                android:allowBackup="true"
                android:icon="@drawable/ic_launcher"
                android:label="@string/app_name"
                android:theme="@style/AppTheme"
                android:hardwareAccelerated="true" >
                <meta-data
                    android:name="com.google.android.maps.v2.API_KEY"
                    android:value="<YOUR VALUE>"/>
                <meta-data
                    android:name="com.google.android.gms.version"
                    android:value="@integer/google_play_services_version" />
                <activity
                    android:name="example.gps.MainActivity"
                    android:label="@string/app_name" >
                    <intent-filter>
                        <action android:name="android.intent.action.MAIN" />
    
                         <category android:name="android.intent.category.LAUNCHER" />
                    </intent-filter>
                </activity>
            </application>
    
        </manifest>
    

    xml文件是

     <?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"
        />
    

    java类是

       public class MainActivity extends FragmentActivity
            {
               @Override
               protected void onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
                   setContentView(R.layout.activity_main);
               }
            }
    

    解决了我的问题

    易博文
    2023-03-14

    我有相同的代码/相同的问题!尝试将android:name=“com.testing.svma.MainActivity”添加到布局中的“fragment”中!它为我解决了这个问题

    <?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"
        android:name="com.testing.svma.MainActivity"/>
    
    方奕
    2023-03-14

    我知道这可能是一条死线,但以防有人偶然发现这里有相同的问题-您的清单可能缺少以下元信息:

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

    中声明它

    不管怎样,希望这能帮助到某人。

     类似资料:
    • 我有一个错误的膨胀到一个布局的片段。我正在使用的IDE是Xamarin,这是一个用编程语言C#开发的android开发工具。 我在这个目录中的类上得到错误 JeugdbewegingApp\JeugdbewegingApp\演示文稿\MainMenu.cs 在下面的代码段中,该错误由片段类名引发。此代码来自NewsFeed。axml布局文件。 我知道命名空间需要以小写形式编写,但您的文件和目录是否

    • 最后是日志: 我们非常非常感谢所有的帮助。如果还有什么我可以补充的,请告诉我?

    • 下面是我的布局: 编辑(已解决):最后,我找到了解决方案。应该在JAVA文件mapFragment中添加onDestroyView()方法,如下所示:

    • 这里的主要问题是:上面的代码在几乎所有的设备(受刺激的设备,或者一些真实的设备)上都能顺利运行。但当我在三星S3上运行时。它注意到这个错误: 请告诉我如何修复错误,谢谢:)

    • 我正在写一个android应用程序,其中包括一个谷歌地图片段。当我将地图片段从包含它的活动中排除时,应用程序运行良好。当我包含映射片段时,我会得到下面blockquote中引用的异常。最让人恼火的是,就在几周前,这还没有发生。这个活动运行了几个星期,然后我更新了android studio,现在我得到了这个例外。我已经在google和stackoverflow上搜索了几个解决方案,但没有任何效果。

    • 我想添加一个对象LinearLayout,但它抛出一个错误错误行:在me.solo_team.futureleader.ui.news.NewsFragment.onCreateView(NewsFragment.java:62)(addElement(uris.get(i),names.get(i));) 新闻片段 fragment_news: mews_新闻。xml: 错误: E/Androi