Reputation: 41
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
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
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
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
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