2016-05-18 16 views
1

Ich schreibe eine Android-App, die ein Google-Map-Fragment enthält. Wenn ich das Kartenfragment von der Aktivität ausschließe, in der es enthalten ist, läuft die App einwandfrei. Wenn ich das Kartenfragment einfüge, bekomme ich die Ausnahme in der Blockquote unten zitiert. Das nervigste daran ist, dass dies vor ein paar Wochen noch nicht geschehen ist. Diese Aktivität lief wochenlang einwandfrei und dann habe ich Android Studio aktualisiert und jetzt bekomme ich diese Ausnahme. Ich habe google und mehrere Threads auf stackoverflow nach Lösungen durchsucht, nichts geht. Ich habe sogar versucht, die Google Android Demo für eine Kartenaktivität zu kopieren und einzufügen, und ich bekomme die gleiche Ausnahme. Bitte helfen.Android Studio: Fehler beim Aufblasen von Klassenfragmenten

Die Ausnahme angehoben (von android Monitor kopiert):

Schwerwiegende Ausnahme: main Prozess: com.androidapps.seanmcalinden.firstandroidapp, PID: 23089 java.lang.RuntimeException: Kann nicht Aktivität starten ComponentInfo {com.androidapps.seanmcalinden.firstandroidapp/com.androidapps.seanmcalinden.firstadroidapp.MapsActivity}: android.view.InflateException: Binär-XML-Dateizeile # 55: Binär-XML-Dateizeile # 55: Fehler beim Aufblasen des Klassenfragments bei android.app. ActivityThread.performLaunchActivity (ActivityThread.java:2416) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) bei android.app.ActivityThread.-wrap11 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java .lang.reflect.Method.invoke (Native Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.an droid.internal.os.ZygoteInit.main (ZygoteInit.java:616) verursacht durch: android.view.InflateException: Binär-XML-Datei Zeile # 55: Binär-XML-Datei Zeile # 55: Fehler beim Aufblasen des Klassenfragments bei android.view. LayoutInflater.infllate (LayoutInflater.java:539) bei android.view.LayoutInflater.infllate (LayoutInflater.java:423) bei android.view.LayoutInflater.infllate (LayoutInflater.java:374) bei com.android.internal. policy.PhoneWindow.setContentView (PhoneWindow.java:393) bei android.app.Activity.setContentView (Activity.java:2166) unter com.androidapps.seanmcalinden.firstadroidapp.MapsActivity.onCreate (MapsActivity.java:67) bei android.app.Activity.performCreate (Activity.java:6237) bei android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107) bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) bei android.app.ActivityThread.-wrap11 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang.reflect.Method.Rufen Sie (Native Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java: 616) verursacht durch : android.view.InflateException: Binäre XML-Datei Zeile # 55: Fehler beim Aufblasen des Klassenfragments bei android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:782) bei android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) bei android.view.LayoutInflater.rInfllate (LayoutInflater.java:835) bei android.view.LayoutInflater.rInfllateChildren (LayoutInflater.java:798) bei android.view.LayoutInflater.inflate (LayoutInflater.java:515) bei android.view.LayoutInflater.inflate (LayoutInflater.java:423) bei android.view.LayoutInflater.inflate (LayoutInflater.java:374) bei com .android.internal.policy.PhoneWindow.setContentView (PhoneWindow.java:393) bei android.app.Activity.setContentView (Activity.java:2166) bei com.androidapps.seanmcalinden.firstadroidapp.MapsActivity.onCreate (MapsActivity.java : 67) bei android.app.Activity.performCreate (Activity.java:6237) bei android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107) bei android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369) bei android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) bei android.app.ActivityThread.-wrap11 (ActivityThread.java) bei Android .app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:148) bei Android .app.ActivityThread.main (ActivityThread.java:5417) bei java.lang.reflect.Method.invoke (systemeigene Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) verursacht durch: java.lang.NullPointerException : Versuch, die virtuelle Methode 'boolean java.io.File.mkdir()' für eine Nullobjekt-Referenz unter com.google.maps.api.android.lib6.gmm6.m.ad.a (Unbekannte Quelle) an aufzurufen com.google.maps.api.android.lib6.gmm6.cha (Unbekannte Quelle) unter com.google.maps.api.android.lib6.gmm6.cya (Unbekannte Quelle) unter com.google.maps.api. android.lib6.e.bd.a (Unbekannte Quelle) at com.google.maps.api.android.lib6.e.ev.a (Unbekannt Sou rce) unter com.google.maps.api.android.lib6.eza (Unbekannte Quelle) unter com.google.maps.api.android.lib6.eya (Unbekannte Quelle) unter com.google.android.gms. maps.internal.u.onTransact (SourceFile: 107) unter android.os.Binder.transact (Binder.java:387) unter com.google.android.gms.maps.internal.IMapFragmentDelegate $ zza $ zza.onCreateView (Unbekannte Quelle) bei com.google.android.gms.maps.MapFragment $ zza.onCreateView (Unbekannte Quelle) bei com.google.android.gms.dynamic.zza $ 4.zzb (Unbekannte Quelle) bei com.google. android.gms.dynamic.zza.zza (Unbekannte Quelle) bei com.google.android.gms.dynamic.zza.onCreateView (Unbekannte Quelle) bei com.google.android.gms.maps.MapFragment.onCreateView (Unbekannte Quelle) bei android.app.Fragment .performCreateView (Fragment.java:2220) bei android.app.FragmentManagerImpl.moveToState (FragmentManager.java:949) bei android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1126) bei android.app.FragmentManagerImpl.addFragment (FragmentManager.java:1228) bei android.app.FragmentManagerImpl.onCreateView (FragmentManager.java:2201) bei android.app.FragmentCont roller.onCreateView (FragmentController.java:98) bei android.app.Activity.onCreateView (Activity.java:5546) bei android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView (BaseFragmentActivityHoneycomb.java:34) bei Android. support.v4.app.FragmentActivity.onCreat

Die OnCreate Methode:

protected void onCreate(Bundle savedInstanceState) { 
    Log.e("success", "entered onCreate in MapsActivity"); 

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

    // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
    MapFragment mapFragment = 
      (MapFragment) getFragmentManager().findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 

    if (locationGAC == null) { 
     // ATTENTION: This "addApi(AppIndex.API)"was auto-generated to implement the App Indexing API. 
     // See https://g.co/AppIndexing/AndroidStudio for more information. 
     locationGAC = new GoogleApiClient.Builder(this) 
       .addConnectionCallbacks(this) 
       .addOnConnectionFailedListener(this) 
       .addApi(LocationServices.API) 
       .addApi(AppIndex.API).build(); 
     Log.e("success", "created locationGAC"); 
    } 

    Log.d("myTag", "test output 1"); 

    createFriendList(); 

} 

Die Layoutdatei für diese Aktivität:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:background="@color/colorPrimary" 
android:weightSum="1" > 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Back" 
     android:id="@+id/button" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_alignBottom="@+id/SearchBar1" 
     android:onClick="backToLogin" 
     android:background="@color/colorPrimaryDark" 
     android:textColor="#ffffff" /> 

    <EditText 
     android:layout_width="0dp" 
     android:layout_height="60dp" 
     android:id="@+id/SearchBar1" 
     android:layout_alignParentTop="true" 
     android:hint="Search" 
     android:layout_alignParentEnd="false" 
     android:layout_alignParentStart="false" 
     android:layout_toEndOf="@id/button" 
     android:layout_toStartOf="@+id/SearchButton" 
     android:textColor="#ffffff" 
     android:textColorHint="#ffffff" /> 

    <Button 
     style="?android:attr/buttonStyleSmall" 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Go" 
     android:id="@+id/SearchButton" 
     android:layout_alignParentRight="true" 
     android:enabled="true" 
     android:onClick="onSearch" 
     android:textColor="#ffffff" 
     android:background="@color/colorPrimaryDark" /> 

</RelativeLayout> 

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
    tools:context=".MapsActivity" 
class="com.google.android.gms.maps.MapFragment" /> 


<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_alignParentBottom="true" 
    android:orientation="horizontal"> 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Retrieve" 
     android:id="@+id/serverRetrieveButton" 
     android:layout_gravity="left" 
     android:textColor="#ffffff" 
     android:onClick="getLocationFromDexelus" 
     android:background="@color/colorPrimaryDark" /> 

    <Button 
     android:layout_width="70dp" 
     android:layout_height="60dp" 
     android:text="Send" 
     android:id="@+id/serverSendButton" 
     android:layout_alignParentRight="true" 
     android:textColor="#ffffff" 
     android:onClick="sendLocationToDexelus" 
     android:background="@color/colorPrimaryDark" /> 

</RelativeLayout> 

</RelativeLayout> 

Wie oben gesagt, habe ich viele Lösungen hier auf Stackoverflow versucht. Um nicht zu sagen, dass Sie diese nicht noch einmal posten sollten, sondern eher, dass mein Thema komplexer oder spezifischer sein könnte als diese, weil keine der gegebenen Lösungen für mich funktioniert hat.

Danke.

+0

Stellen Sie die Posts bereit, die Sie bereits überprüft haben, damit andere nicht versuchen, sie zu duplizieren. Sie haben erwähnt, dass dies nach der Aktualisierung von AS passiert ist, was ist die aktuelle Version Ihrer Google-Play-Dienste? Wird es möglich sein, Ihre Größe zu posten? –

+0

Überprüfen Sie den Code in dieser SO-Frage [17469661] (http://stackoverflow.com/questions/17469661/google-mapfragment-not-working-in-android) und [15703245] (http://stackoverflow.com/questions/15703245/google-maps-fragment-doesnt-load) wenn es Ihnen helfen kann. Versuchen Sie, SupportMapFragment statt nur MapFragment zu verwenden. – KENdi

Antwort

1

Aus irgendeinem Grund, als ich mein SDK auf die am Mittwoch veröffentlichte Version aktualisierte, verschwanden meine Probleme. Ich denke, das ist angebracht, da die Probleme erst nach einem Android Studio-Update aufgetreten sind. Danke für deine Vorschläge!

0

Ich denke, der Fehler kommt von der Linie class="com.google.android.gms.maps.MapFragment" Vielleicht ist der Pfad nicht korrekt.

Verwandte Themen