sriv
sriv

Reputation: 41

Binary XML file line #17: Error inflating class fragment

While trying to create Google map I found "Binary XML file line #17: Error inflating class fragment exception", please give me solution ASAP, Thanks a lot in advance.

error log:

 05-10 10:51:15.515: E/Trace(785): error opening trace file: No such file or directory         (2)
    05-10 10:51:16.695: E/AndroidRuntime(785): FATAL EXCEPTION: main
    05-10 10:51:16.695: E/AndroidRuntime(785): java.lang.RuntimeException: Unable to start     activity     ComponentInfo{com.declare.demogooglemapsv2/com.declare.demogooglemapsv2.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.os.Looper.loop(Looper.java:137)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-10 10:51:16.695: E/AndroidRuntime(785):  at java.lang.reflect.Method.invokeNative(Native Method)
05-10 10:51:16.695: E/AndroidRuntime(785):  at java.lang.reflect.Method.invoke(Method.java:511)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-10 10:51:16.695: E/AndroidRuntime(785):  at dalvik.system.NativeStart.main(Native Method)
05-10 10:51:16.695: E/AndroidRuntime(785): Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.Activity.setContentView(Activity.java:1881)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.declare.demogooglemapsv2.MainActivity.onCreate(MainActivity.java:13)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.Activity.performCreate(Activity.java:5104)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
05-10 10:51:16.695: E/AndroidRuntime(785):  ... 11 more
05-10 10:51:16.695: E/AndroidRuntime(785): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4323000 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.internal.q.B(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.internal.q.A(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.MapFragment$b.gW(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.dynamic.a.a(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.app.Activity.onCreateView(Activity.java:4716)
05-10 10:51:16.695: E/AndroidRuntime(785):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
05-10 10:51:16.695: E/AndroidRuntime(785):  ... 21 more
05-10 11:25:26.313: E/Trace(1518): error opening trace file: No such file or directory (2)
05-10 11:25:28.263: E/AndroidRuntime(1518): FATAL EXCEPTION: main
05-10 11:25:28.263: E/AndroidRuntime(1518): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.declare.demogooglemapsv2/com.declare.demogooglemapsv2.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.os.Looper.loop(Looper.java:137)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at java.lang.reflect.Method.invokeNative(Native Method)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at java.lang.reflect.Method.invoke(Method.java:511)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at dalvik.system.NativeStart.main(Native Method)
05-10 11:25:28.263: E/AndroidRuntime(1518): Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.Activity.setContentView(Activity.java:1881)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.declare.demogooglemapsv2.MainActivity.onCreate(MainActivity.java:13)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.Activity.performCreate(Activity.java:5104)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
05-10 11:25:28.263: E/AndroidRuntime(1518):     ... 11 more
05-10 11:25:28.263: E/AndroidRuntime(1518): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4323000 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.internal.q.B(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.internal.q.A(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.MapFragment$b.gW(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.dynamic.a.a(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.app.Activity.onCreateView(Activity.java:4716)
05-10 11:25:28.263: E/AndroidRuntime(1518):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
05-10 11:25:28.263: E/AndroidRuntime(1518):     ... 21 more
05-10 11:25:37.973: E/AndroidRuntime(1565): FATAL EXCEPTION: main
05-10 11:25:37.973: E/AndroidRuntime(1565): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.declare.demogooglemapsv2/com.declare.demogooglemapsv2.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.os.Looper.loop(Looper.java:137)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread.main(ActivityThread.java:5041)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at java.lang.reflect.Method.invokeNative(Native Method)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at java.lang.reflect.Method.invoke(Method.java:511)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at dalvik.system.NativeStart.main(Native Method)
05-10 11:25:37.973: E/AndroidRuntime(1565): Caused by: android.view.InflateException: Binary XML file line #17: Error inflating class fragment
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.Activity.setContentView(Activity.java:1881)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.declare.demogooglemapsv2.MainActivity.onCreate(MainActivity.java:13)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.Activity.performCreate(Activity.java:5104)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
05-10 11:25:37.973: E/AndroidRuntime(1565):     ... 11 more
05-10 11:25:37.973: E/AndroidRuntime(1565): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value.  Expected 4323000 but found 0.  You must have the following declaration within the <application> element:     <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.common.GooglePlayServicesUtil.t(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.internal.q.B(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.internal.q.A(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.MapFragment$b.gW(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.dynamic.a.a(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.app.Activity.onCreateView(Activity.java:4716)
05-10 11:25:37.973: E/AndroidRuntime(1565):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
05-10 11:25:37.973: E/AndroidRuntime(1565):     ... 21 more

Upvotes: 1

Views: 2181

Answers (4)

Otieno Rowland
Otieno Rowland

Reputation: 2250

I have found a super solution for this issue due to Duplicate ID, tag null, or parent id with another fragment for com.google.android.gms.maps.MapFragment: I believe this title describes your problem in another way, basically you cannot add another fragment to an already existing Fragment

Just change the the OnCreateView of the fragment:

private static View view;

public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{

    if (view != null)
    {
        ViewGroup parent = (ViewGroup)view.Parent;
        if(parent != null)
        {
            parent.RemoveView (view);
        }
    }

    try
    {
        if (layoutId == null || layoutId == 0)
            layoutId = UI.Resource.Layout.FrgChart;
        view = inflater.Inflate (layoutId,container,false);
    }
    catch(InflateException e)
    {

    }
    return view;

}

And it works fine. smiley lol

Upvotes: 0

kgandroid
kgandroid

Reputation: 5595

Add the following,

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

in your manifest file immediately below the first meta-data tag(where you have placed your google api key)

Upvotes: 0

Hareshkumar Chhelana
Hareshkumar Chhelana

Reputation: 24848

// try this way,hope this will help you...

Note : please add latest google-play-services latest jar on your project build path.

activity_main.xml
<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center">

    <fragment
        android:id="@+id/maps"
        android:name="pl.mg6.android.maps.extensions.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

MainActivity.java
public class MainActivity extends FragmentActivity {

    private GoogleMap googleMap;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps)).getExtendedMap();

        googleMap.addMarker(new MarkerOptions().title("Ahmedabad").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)).position(new LatLng(23.0395677, 72.56600449999996)));
        googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(23.0395677, 72.56600449999996), 12));
    }

}

// please replace com.example.Demo with your package name
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.Demo"
    android:versionCode="1"
    android:versionName="1.0">

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

    <permission
        android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

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

    <uses-permission android:name="com.vogella.android.locationapi.maps.permission.MAPS_RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <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"/>

    <application
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:windowSoftInputMode="stateHidden|adjustResize"
            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.gms.version"
            android:value="4030500" />

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyCIN5KN7FLOqKxhgG-73FDHFfd_rHZU2WQ" /> // here you set your map key
    </application>
</manifest>

Upvotes: 0

Torino
Torino

Reputation: 588

Part of the stack trace is this message:

The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4323000 but found 0. You must have the following declaration within the <application> element:

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

Have you configured this in AndroidManifest.xml?

Upvotes: 2

Related Questions