2016-03-24 10 views
0

ich habe gerade meinen 4. Tab in meine Anwendung implementiert, die Google Maps implementiert hat. Vor dieser Implementierung lief meine Anwendung gut, jetzt, wenn ich den Tab ändere, stürzt es ab. Ich habe ähnliche Fragen hier gefragt gesehen, aber keiner hat die Antwort LOL (es war tatsächlich so viele verschiedene Ursachen und Antworten zu diesem Thema)android.view.InflateException: Binär XML Dateizeile # 7: Binär XML Dateizeile # 7: Fehler beim Aufblasen des Klassenfragments

hier ist die fragmentshouts_maps Klasse

package com.example.hp_user.shoutfinal28; 



import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 


public class FragmentShouts_Maps extends Fragment implements OnMapReadyCallback { 


public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // Get the view from fragment shouts.xml 
    View root_view = inflater.inflate(R.layout.fragmentshouts_maps, container, false); 
    SupportMapFragment supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.Maps1); 
    if (supportMapFragment!= null) { 
     supportMapFragment.getMapAsync(this); 
    } 
    return root_view; 
} 


@Override 
public void onViewCreated(View view, Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
} 

@Override 
public void onMapReady (GoogleMap map) { 
    map.addMarker(new MarkerOptions() 
      .position(new LatLng(0, 0)) 
      .title("Marker")); 
} 

} 

meine fragmentshouts_maps XML-Datei

<RelativeLayout 
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" > 

<fragment 
    android:id="@+id/Maps1" 
    class="com.google.android.gms.maps.SupportMapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:layout="@layout/fragmentshouts_maps" 
    android:layout_alignParentEnd="true"> 
</fragment> 


</RelativeLayout> 

android Manifest xml

<?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="SHOUT" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".MainActivity" 
     android:label="SHOUT" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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


</manifest> 

Ansicht Pager Adapterklasse

package com.example.hp_user.shoutfinal28; 


import android.content.Context; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentStatePagerAdapter; 



public class ViewPagerAdapter extends FragmentStatePagerAdapter { 

final int PAGE_COUNT = 4; 
// Tab Titles 
private String tabtitles[] = new String[] {"Home","Shouts","Maps","Shouters"}; 
Context context; 

public ViewPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public int getCount() { 
    return PAGE_COUNT; 
} 


public Fragment getItem(int position) { 
    switch (position) { 

     // Open Fragment home.java 
     case 0: 
      FragmentHome fragmenthome = new FragmentHome(); 
      return fragmenthome; 

     // Open Fragment shouters.java 
     case 1: 
      FragmentShouts fragmentshouts = new FragmentShouts(); 
      return fragmentshouts; 

     case 2: 
      FragmentShouts_Maps fragmentshouts_maps = new FragmentShouts_Maps(); 
      return fragmentshouts_maps; 

     case 3: 
      FragmentShouters fragmentshouters = new FragmentShouters(); 
      return fragmentshouters; 



    } 
    return null; 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    return tabtitles[position]; 
} 


} 

hier ist mein Fehlerprotokoll

_ 03-24 13: 10: 44.990 2497-2497/com.example.hp_user.shoutfinal28 I/art: Nicht späte Aktivierung -Xcheck: jni (bereits eingeschaltet) 03-24 13: 10: 45.149 2497-2497/com.example.hp_user.shoutfinal28 W/System: ClassLoader referenziert unbekannten Pfad:/data/app/com. example.hp_user.shoutfinal28-2/lib/x86 03-24 13: 10: 45.877 2497-2504 /com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 32.755ms 03-24 13: 10: 46.344 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 30.264ms 03-24 13: 10: 46.841 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 18.578ms 03-24 13: 10: 46.879 2497-2497/com.example.hp_user. shoutfinal28 I/GMPM: App-Messung startet, Version: 8487 03-24 13: 10: 46.879 2497-2497/com.example.hp_user.shoutfinal28 I/GMPM: Um Debug-Logging zu aktivieren run: adb shell setprop log.tag .GMPM VERBOSE 03-24 13: 10: 47.126 2497-2497/com.beispiel.hp_user.shoutfinal28 E/GMPM: GoogleService konnte nicht initialisiert werden, Status: 10, Es fehlt eine erwartete Ressource: 'R.string.google_app_id' zum Initialisieren Google-Dienste Mögliche Ursachen sind das google-services.json oder com.google.gms.google-services gradle Plugin. 03-24 13: 10: 47.126 2497-2497/com.example.hp_user.shoutfinal28 E/GMPM: Zeitplaner nicht gesetzt. Fehler nicht protokollieren/warnen. 03-24 13: 10: 47.285 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 10.416ms 03-24 13: 10: 47.306 2497-2549/com.example.hp_user. shoutfinal28 E/GMPM: Hochladen ist nicht möglich. App-Messung deaktiviert 03-24 13: 10: 48.324 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 56.790ms 03-24 13: 10: 48.692 2497-2504/com.example .hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 19.660ms 03-24 13: 10: 48.735 2497-2571/com.example.hp_user.shoutfinal28 D/OpenGLRenderer: Verwenden Sie EGL_SWAP_BEHAVIOR_PRESERVED: true 03-24 13:10 : 49.214 2497-2571/com.example.hp_user.shoutfinal28 I/OpenGLRenderer: Initialisierte EGL, Version 1.4 03-24 13: 10: 49.686 2497-2571/com.example.hp_user.shoutfinal28 W/EGL_emulation: eglSurfaceAttrib nicht implementiert 03-24 13: 10: 49.686 2497-2571/com.example.hp_user.shoutfinal28 W/OpenGLRenderer: Fehler beim Festlegen von EGL_SWAP_BEHAVIOR auf der Oberfläche 0xac0bfc40, Fehler = EGL_SUCCESS 03-24 13: 10: 49.713 2497-2504/com.example .hp_u ser.shoutfinal28 W/art: Unterbrechen aller Threads: 34.869ms 03-24 13: 10: 50.299 2497-2497/com.example.hp_user.shoutfinal28 I/Choreographer: 88 Frames übersprungen!Die Anwendung führt möglicherweise zu viel Arbeit an ihrem Hauptthread aus. 03-24 13: 10: 51.354 2497-2497/com.example.hp_user.shoutfinal28 I/Choreographer: Übersprang 62 Frames! Die Anwendung führt möglicherweise zu viel Arbeit an ihrem Hauptthread aus. 03-24 13: 10: 51.698 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 19.748ms 03-24 13: 10: 54.816 2497-2504/com.example.hp_user. shoutfinal28 W/art: Unterbrechen aller Threads: 68.575ms 03-24 13: 10: 55.255 2497-2504/com.beispiel.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 56.167ms 03-24 13:10 : 55.684 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 13.477ms 03-24 13: 10: 57.162 2497-2504/com.example.hp_user.shoutfinal28 W/art: Alles aussetzen Threads genommen: 7.253ms 03-24 13: 10: 58.712 2497-2549/com.example.hp_user.shoutfinal28 I/GMPM: Tag Manager wurde nicht gefunden und wird daher nicht verwendet 03-24 13: 10: 59.674 2497 -2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads dauerte: 24.761ms 03-24 13: 11: 00.056 2497-2497/com.example.hp_user.shoutfinal28 I/zzad: Creator dynamisch erstellen 03-24 13: 11: 00.148 2497-2497/com.example.hp_user.shoutfinal28 W/System : ClassLoader referenziert auf den unbekannten Pfad:/system/priv-app/PrebuiltGmsCore/lib/x86 03-24 13: 11: 00.528 2497-2497/com.beispiel.hp_user.shoutfinal28 D/ChimeraCfgMgr: Gespeicherte Modulkonfiguration lesen 03-24 13: 11: 00.560 2497-2508/com.example.hp_user.shoutfinal28 I/art: Hintergrund klebrig gleichzeitige Markensuch GC befreit 7893 (582KB) AllocSpace Objekte, 5 (100KB) LOS Objekte, 13% frei, 3MB/3MB, pausiert 3.580ms gesamt 263.471ms 03-24 13: 11: 00.584 2497-2497/com.example.hp_user.shoutfinal28 D/ChimeraCfgMgr: Lade Modul com.google.android.gms.maps von APK/data/user/0/com .google.android.gms/app_chimera/chimera-modul-root/modul-a3e4fba11e705727c59ff3116ef21fa4834b9f56/MapsModule.apk 03-24 13: 11: 00.595 2497-2497/com.beispiel.hp_user.shoutfinal28 D/ChimeraModuleLdr: Ladenmodul APK /data/user/0/com.google.android.gms/app_chimera/chimera-module-root/ module-a3e4fba11e705727c59ff3116ef21fa4834b9f56/MapsModule.apk 03-24 13: 11: 00.781 2497-2504/com.beispiel.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 138.569ms 03-24 13: 11: 00.781 2497-2497 /com.example.hp_user.shoutfinal28 D/ChimeraFileApk: Der primäre ABI des anfordernden Prozesses ist x86 03-24 13: 11: 00.783 2497-2497/com.example.hp_user.shoutfinal28 D/ChimeraFileApk: Erfolgreiches Laden von Klassen. Optimierter Code gefunden. 03-24 13: 11: 00.825 2497-2497/com.example.hp_user.shoutfinal28 W/System: ClassLoader referenziert unbekannten Pfad: /data/user/0/com.google.android.gms/app_chimera/chimera-module- root/modul-a3e4fba11e705727c59ff3116ef21fa4834b9f56/native-libs/x86 03-24 13: 11: 01.134 2497-2504/com.beispiel.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads dauerte: 22.116ms 03-24 13:11: 01.743 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 81.006ms 03-24 13: 11: 01.744 2497-2497/com.beispiel.hp_user.shoutfinal28 I/Google Maps Android API: Version des Google Play-Dienstclients: 8487000 03-24 13: 11: 02.058 2497-2497/com.example.hp_user.shoutfinal28 I/Google Maps Android-API: Google Play-Dienstpaketversion: 8489470 03-24 13: 11: 02.144 2497-2504/com.example.hp_user.shoutfinal28 W/art: Alles aussetzen Threads genommen: 35.413ms 03-24 13: 11: 02.181 2497-2497/com.beispiel.hp_user.shoutfinal28 D/AndroidRuntime: Herunterfahren der VM 03-24 13: 11: 02.275 2497-2497/com.example.hp_user .shoutfinal28 E/Android Runtime: FATAL AUSNAHME: Haupt Prozess: com.example.hp_user.shoutfinal28, PID: 2497 android.view.InflateException: Binary XML-Datei Zeile # 7: Binary XML-Datei Zeile # 7: Fehler aufblähenden Klasse Fragment bei android.view.LayoutInflater.inflate (LayoutInflater.java:539) bei android.view.LayoutInflater.infllate (LayoutInflater.java:423) bei com.example.hp_user.shoutfinal28.FragmentShouts_Maps.onCreateView (FragmentSouts_Maps.java:23) bei andr oid.support.v4.app.Fragment.performCreateView (Fragment.java:1962) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1067) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1248) bei android.support.v4.app.BackStackRecord.run (BackStackRecord.java:738) bei android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1613) bei android.support.v4.app.FragmentManagerImpl. executePendingTransactions (FragmentManager.java:570) bei android.support.v4.app.FragmentStatePagerAdapter.finishUpdate (FragmentStatePagerAdapter.java:163) bei android.support.v4.view.ViewPager.populate (ViewPager.j ava: 1106) bei android.support.v4.view.ViewPager.populate (ViewPager.java:952) bei android.support.v4.view.ViewPager $ 3.run (ViewPager.java:251) bei android.view .Choreographer $ CallbackRecord.run (Choreographer.java:858) bei android.view.Choreographer.doCallbacks (Choreographer.java:670) bei android.view.Choreographer.doFrame (Choreographer.java:603) bei android.view .Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:844) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) bei android.os.Looper.loop (Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang.reflect.Method.invoke (native Methode) at 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är XML Dateizeile # 7: Fehler beim Aufblasen des Klassenfragments bei android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:782) bei android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:704) bei android.view.Lay outInflater.rInflate (LayoutInflater.java:835) bei android.view.LayoutInflater.rInflateChildren (LayoutInflater.java:798) bei android.view.LayoutInflater.inflate (LayoutInflater.java:515) bei android.view.LayoutInflater. aufzublasen (LayoutInflater.java:423) bei com.example.hp_user.shoutfinal28.FragmentShouts_Maps.onCreateView (FragmentShouts_Maps.java:23) bei android.support.v4.app.Fragment.performCreateView (Fragment.java:1962) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1067) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1248) bei android.support.v4.app.BackStackRecord.run (BackStackRecord.java:738) bei android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1613) bei android.support.v4.app.FragmentManagerImpl .executePendingTransactions (FragmentManager.java:570) bei android.support.v4.app.FragmentStatePagerAdapter.finishUpdate (FragmentStatePagerAdapter.java:163) bei android.support.v4.view.ViewPager.populate (ViewPager.java:1106) bei android.support.v4.view.ViewPager.populate (ViewPager.java:952) bei android.support.v4.view.ViewPager $ 3.run (ViewPager.java:251) bei android.view.Choreographer $ CallbackRecord.laufen (Choreographer.java:858) bei android.view.Choreographer.doCallbacks (Choreographer.java:670) bei android.view.Choreographer.doFrame (Choreographer.java:603) bei android.view.Choreographer $ FrameDisplayEventReceiver. (android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) Looper.java:148) bei android.app.ActivityThread.main (ActivityThread.java:5417) bei java.lang.reflect.Method.invoke (native Methode) bei com.android.inte rnal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) Verursacht von: java.lang.RuntimeException: API-Schlüssel nicht gefunden . Überprüfen Sie, ob das Element von AndroidManifest.xml unter com.google.maps.api.android.lib6.c.ad.a (Unbekannte Quelle) unter com.google.maps.api.android.lib6.aea (Unbekannt Quelle) unter com.google.android.gms.maps.internal.CreatorImpl.b (Unbekannte Quelle) unter com.google.android.gms.maps.internal.CreatorImpl.b (Unbekannte Quelle) unter com.google. android.gms.maps.internal.h.onTransact (SourceFile: 62) bei android.os.Binder.transact (Binder.java:387) bei com.google.android.gms.maps.internal.ah.b (Quelldatei: 179) bei com.google.android.gms.maps.internal.CreatorImpl.b (SourceFile: 100) bei com.google.android.gms.maps.internal.ag.onTransact (SourceFile: 62) bei android.os.Binder.transact (Binder.java:387) bei com.google.android.gms.maps. internal.zzc $ zza $ zza.zzs (Unbekannte Quelle) bei com.google.android.gms.maps.SupportMapFragment $ zzb.zzzW (Unbekannte Quelle) bei com.google.android.gms.maps.SupportMapFragment $ zzb. zza (Unbekannte Quelle) bei com.google.android.gms.dynamic.zazza.zza (Unbekannte Quelle) bei com.google.android.gms.dynamic.zza.onInflate (Unbekannte Quelle) bei com.google.android .gms.Maps.SupportMapFragment.onInflate (Unbekannte Quelle) bei androi d.support.v4.app.Fragment.onInflate (Fragment.java:1129) bei android.support.v4.app.FragmentManagerImpl.onCreateView (FragmentManager.java:2283) bei android.support.v4.view.LayoutInFlaterCompatHC $ FactoryWrapperHC.onCreateView (LayoutInflaterCompatHC.java:44) bei android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:746) 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 com.example.hp_user.shoutfinal28.FragmentShouts_Maps.onCreateView (FragmentSouts_Maps.java:23) bei android.support.v4.app.Fragment.performCreateView (Fragment.java:1962) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1067) bei android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1248) bei Android.support.v4.app.BackStackRecord.run (BackStackRecord.java:738) bei android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1613) bei android.support.v4.app.FragmentManagerImpl.executePendingTransactions (FragmentManager.java:570) bei android.support.v4.app.FragmentStatePagerAdapter.finishUpdate (FragmentStatePagerAdapter.java:163) bei android.support.v4.view.ViewPager.populate (ViewPager.java:1106) bei Android. support.v4.view.ViewPager.populate (ViewPager.java:952) bei android.support.v4.view.ViewPager $ 3.run (ViewPager.java:251) bei android.view.Choreographer $ CallbackRecord.run (Choreograph .java: 858) bei android.view.Choreographer.doCallbacks (Choreographer.java:670) bei android.view.Choreographer.doFrame (Choreographer.java:603) bei android.view.Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:844) bei android.os.Handler.handleCallback (Handler.java:739) bei android.os.Handler.dispatchMessage (Handler.java:95) 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 $ MethodAndArgsCal ler.run (ZygoteInit.java:726) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616) 03-24 13: 11: 13.831 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads dauerte: 21.969ms 03-24 13: 11: 16.801 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads dauerte: 12.148ms 03-24 13:11: 20.740 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbrechen aller Threads: 10.787ms 03-24 13: 11: 42.991 2497-2504/com.example.hp_user.shoutfinal28 W/art: Unterbricht alle Threads nahm: 411.474ms _

+0

Können Sie den Code der Datei fragmentshouts_maps.xml hinzufügen? –

+0

mein Fehler Ich setzte Google Maps XML-Datei ich meinte fragmentshouts_maps XML-Datei Ich habe es überarbeitet, so können Sie es jetzt sehen @MiguelBenitez –

+0

nicht wissen, wie exaclty meine Log-Katze richtig einfügen, aber es fett und kursiv gemacht –

Antwort

0

versuchen, das gleiche in onActivityCreated()

zu tun 0
public void onActivityCreated(Bundle savedInstanceState) { 
        super.onActivityCreated(savedInstanceState); 
        SupportMapFragment supportMapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.Maps1); 
        if (supportMapFragment!= null) { 
         supportMapFragment.getMapAsync(this); 
        } 
       } 
+0

Meine fragmentshouts_maps-Klasse hat dies bereits Codezeile? –

+0

Eigentlich nicht, aber ich bin verwirrt, wie würde ich diese Codezeile implementieren und welche Zeile würde es ersetzen –

+0

Grundsätzlich versuchen Sie, ein Element einer Ansicht zu erhalten, die nicht bereits aufgeblasen ist Es ist nach onCreateView wenn R.id .Maps1 ist sichtbar –

Verwandte Themen