Java android.view.InflateException:二进制 XML 文件第 6 行:错误膨胀类 fragemnt

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18650686/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-12 09:50:50  来源:igfitidea点击:

android.view.InflateException: Binary XML file line #6: Error inflating class fragemnt

javaandroidandroid-layoutmap

提问by Carrobe90

This error occurs when the application starts

应用程序启动时出现此错误

I am receiving many errors of kind displayed in the subj. These errors seems to be occasional and I cannot reproduce them. From stack I can learn that such error may occurs for my different layout resources. The line of XML is also varying.

我收到许多显示在 subj 中的错误。这些错误似乎是偶然的,我无法重现它们。从堆栈中我可以了解到我的不同布局资源可能会发生这种错误。XML 的行也各不相同。

Can anybody explain why this error occurs? And what I can do to fix this problem?

任何人都可以解释为什么会发生此错误?我能做些什么来解决这个问题?

09-06 00:15:33.254: E/AndroidRuntime(7812): FATAL EXCEPTION: main
09-06 00:15:33.254: E/AndroidRuntime(7812): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.touchboarder.example.videostream/com.touchboarder.example.videostream.Activity_Mapa}: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread.access0(ActivityThread.java:140)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.os.Looper.loop(Looper.java:137)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread.main(ActivityThread.java:4898)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at java.lang.reflect.Method.invokeNative(Native Method)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at java.lang.reflect.Method.invoke(Method.java:511)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at dalvik.system.NativeStart.main(Native Method)
09-06 00:15:33.254: E/AndroidRuntime(7812): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class fragment
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:308)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.Activity.setContentView(Activity.java:1924)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.touchboarder.example.videostream.Activity_Mapa.onCreate(Activity_Mapa.java:59)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.Activity.performCreate(Activity.java:5206)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1083)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
09-06 00:15:33.254: E/AndroidRuntime(7812):     ... 11 more
09-06 00:15:33.254: E/AndroidRuntime(7812): Caused by: java.lang.RuntimeException: API key not found.  Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml
09-06 00:15:33.254: E/AndroidRuntime(7812):     at maps.ag.bb.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at maps.ag.bb.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at maps.ag.an.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at maps.ag.bi.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at maps.ag.bh.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at blf.onTransact(SourceFile:107)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.os.Binder.transact(Binder.java:326)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onCreateView(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.maps.SupportMapFragment$a.onCreateView(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.internal.bh.b(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.internal.bh.a(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.internal.bh.onCreateView(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:900)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1082)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1184)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:285)
09-06 00:15:33.254: E/AndroidRuntime(7812):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)

This error occurs when the application starts i need help please

应用程序启动时发生此错误,我需要帮助

Here is a result of XML, however such error occurs in other xmls

这是XML的结果,但是在其他xml中会发生此类错误

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        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"
            class="com.google.android.gms.maps.SupportMapFragment"/>

    </LinearLayout>


mi manifestbut i don't found the mistake

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

        <meta-data
                android:name="com.google.android.maps.v2.API_KEY"
                android:value="AIzaSyCZG-M6IwXlt46Y37Ip9bp0WdV-shyC39w"/>

        <uses-sdk android:minSdkVersion="7" />

        <uses-permission
        android:name="com.touchboarder.example.videostream.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>

        <uses-permission
        android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>


        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

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

        <application
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"        
            android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
            <activity
                android:name=".Activity_Home"
                android:label="@string/app_name"
                android:configChanges="orientation|keyboardHidden"
                >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity android:name=".Activity_Reserva" android:label="@string/app_name" android:screenOrientation="portrait"
              android:configChanges="orientation|keyboardHidden|screenSize">          
          </activity>          
            <activity android:name=".Activity_Registro" android:screenOrientation="portrait">           
            </activity> 

             <activity android:name=".Activity_Mapa" >           
            </activity>     



</application>

    </manifest>

采纳答案by mrkaktooz

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

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

is in the element of AndroidManifest.xml

在 AndroidManifest.xml 的元素中

回答by GrIsHu

Your logcat shows that you have not added a API KEYin your AndroidManifestfile.

您的 logcat 显示您尚未API KEYAndroidManifest文件中添加 a 。

Please add the API KEY in your manifest file as below:

请在清单文件中添加 API KEY,如下所示:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="your APi key here" />
<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="your APi key here" />

If you are trying to show map in Fragment then in your layout file you have to write class name as below:

如果您尝试在 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"
      android:name="com.google.android.gms.maps.SupportMapFragment"/>
   <?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"
      android:name="com.google.android.gms.maps.SupportMapFragment"/>

回答by Piyush

you should add this tag in your AndroidManifest file:

你应该在你的 AndroidManifest 文件中添加这个标签:

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="your APi key here" />

回答by Ketan Ahir

use

import android.support.v4.app.Fragment;
YourActivity extends FragmentActivity 

instead of

代替

import android.app.Fragment;
YourActivity extends Activity 

and Please add the API KEY in your manifest file

并请在您的清单文件中添加 API KEY