2017-07-16 6 views
-1

Selon les commentaires, j'ai ajouté le fichier ActivityMain.xml ci-dessous le logcat. J'essaye de construire une application simple avec une barre d'action flottante dedans. Je ne sais pas où j'ai fait l'erreur.Android Studio: Malheureusement, l'application s'est arrêtée. J'ai trouvé beaucoup d'erreurs dans le LayoutInflator.java

Voici le message dans le logcat.

FATAL EXCEPTION: main 
Process: com.example.lenovo.makersbuilders5, PID: 3767 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.lenovo.makersbuilders5/com.example.lenovo.makersbuilders5.MainActivity}: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class android.support.design.widget.FloatingActionButton 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5443) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
    Caused by: android.view.InflateException: Binary XML file line #15: Binary XML file line #15: Error inflating class android.support.design.widget.FloatingActionButton 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.example.lenovo.makersbuilders5.MainActivity.onCreate(MainActivity.java:18) 
    at android.app.Activity.performCreate(Activity.java:6245) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5443)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
    Caused by: android.view.InflateException: Binary XML file line #15: Error inflating class android.support.design.widget.FloatingActionButton 
    at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835) 
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)  
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
    at com.example.lenovo.makersbuilders5.MainActivity.onCreate(MainActivity.java:18)  
    at android.app.Activity.performCreate(Activity.java:6245)  
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)  
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5443)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
    Caused by: java.lang.reflect.InvocationTargetException 
    at java.lang.reflect.Constructor.newInstance(Native Method) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:619) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:764)  
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)  
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)  
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)  
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)  
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:292)  
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)  
    at com.example.lenovo.makersbuilders5.MainActivity.onCreate(MainActivity.java:18)  
    at android.app.Activity.performCreate(Activity.java:6245)  
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1130)  
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2379)  
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)  
    at android.app.ActivityThread.-wrap11(ActivityThread.java)  
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)  
    at android.os.Handler.dispatchMessage(Handler.java:102)  
    at android.os.Looper.loop(Looper.java:148)  
    at android.app.ActivityThread.main(ActivityThread.java:5443)  
    at java.lang.reflect.Method.invoke(Native Method)  
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.graphics.drawable.Drawable$ConstantState.newDrawable()' on a null object reference 
    at android.graphics.drawable.LayerDrawable$ChildDrawable.<init>(LayerDrawable.java:1723) 
    at android.graphics.drawable.LayerDrawable$LayerState.<init>(LayerDrawable.java:1792) 
    at android.graphics.drawable.RippleDrawable$RippleState.<init>(RippleDrawable.java:982) 
    at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:973) 
    at android.graphics.drawable.RippleDrawable.createConstantState(RippleDrawable.java:972) 
    at android.graphics.drawable.LayerDrawable.mutate(LayerDrawable.java:1652) 
    at android.graphics.drawable.RippleDrawable.mutate(RippleDrawable.java:959) 
    at android.view.View.applyBackgroundTint(View.java:17429) 
    at android.view.View.setBackgroundDrawable(View.java:17305) 
    at android.support.design.widget.FloatingActionButton.access$001(FloatingActionButton.java:70) 
    at android.support.design.widget.FloatingActionButton$ShadowDelegateImpl.setBackgroundDrawable(FloatingActionButton.java:831) 
    at android.support.design.widget.FloatingActionButtonLollipop.setBackgroundDrawable(FloatingActionButtonLollipop.java:71) 
    at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:181) 
    at android.support.des 

ActivityMain.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.lenovo.makersbuilders5.MainActivity"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello World!" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_youtube" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_marginBottom="260dp" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     android:backgroundTint="@color/Color2" 
     android:elevation="6dp" 
     android:src="@drawable/ic_youtube" 
     android:visibility="invisible" 
     app:pressedTranslationZ="12dp" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_insta" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_marginBottom="180dp" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     android:backgroundTint="@color/Color3" 
     android:elevation="6dp" 
     android:src="@drawable/ic_insta" 
     android:visibility="invisible" 
     app:pressedTranslationZ="12dp" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_fb" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_marginBottom="100dp" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     android:backgroundTint="@color/Color1" 
     android:elevation="6dp" 
     android:src="@drawable/ic_facebook" 
     android:visibility="invisible" 
     app:pressedTranslationZ="12dp" /> 


    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_plus" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|end" 
     android:layout_marginBottom="16dp" 
     android:layout_marginRight="@dimen/fab_margin_right" 
     android:elevation="6dp" 
     android:src="@drawable/ic_plussign" 
     app:pressedTranslationZ="12dp" /> 

</android.support.design.widget.CoordinatorLayout> 

LayoutInflator.java Seule la partie des erreurs car il y a beaucoup de code !!

import com.android.internal.R; 

import android.annotation.LayoutRes; 
import android.annotation.Nullable; 

    protected LayoutInflater(LayoutInflater original, Context newContext) { 
     mContext = newContext; 
     mFactory = original.mFactory; 
     mFactory2 = original.mFactory2; 
     mPrivateFactory = original.mPrivateFactory; 
     setFilter(original.mFilter); 
    } 

    public View inflate(@LayoutRes int resource, @Nullable ViewGroup root) { 
     return inflate(resource, root, root != null); 
    } 

    public View inflate(XmlPullParser parser, @Nullable ViewGroup root) { 
     return inflate(parser, root, root != null); 
    } 

    public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot) { 
     final Resources res = getContext().getResources(); 
     if (DEBUG) { 
      Log.d(TAG, "INFLATING from resource: \"" + res.getResourceName(resource) + "\" (" 
        + Integer.toHexString(resource) + ")"); 
     } 

    public View inflate(XmlPullParser parser, @Nullable ViewGroup root, boolean attachToRoot) { 
     synchronized (mConstructorArgs) { 
      Trace.traceBegin(Trace.TRACE_TAG_VIEW, "inflate"); 


       Trace.traceEnd(Trace.TRACE_TAG_VIEW); 
      } 
+0

mettre le code MainActivity dans la question afin de mieux aider –

+0

problème dans le fichier XML, vérifier la conception ... – Proxytype

+0

votre code postal de fichier XML. –

Répondre

0
android.view.InflateException: Binary XML file line #15: Error inflating class android.support.design.widget.FloatingActionButton 

c'est l'exception. Je pense que peut-être vous n'avez pas importé design-library;

compile 'com.android.support:design:25.4.0' 

ou peut-être mauvais attributs

EDIT MISE À JOUR

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_youtube" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_marginBottom="260dp" 
    android:layout_marginRight="@dimen/fab_margin_right" 
    app:backgroundTint="@color/Color2" 
    app:elevation="6dp" 
    android:src="@drawable/ic_youtube" 
    android:visibility="invisible" 
    app:pressedTranslationZ="12dp" /> 

ligne différent de votre code est

app:backgroundTint="@color/Color2" 
    app:elevation="6dp" 
+0

'com.android.support:design:25.3.1' a été ajouté au gradle au début. Donc, ça doit être de mauvais attributs, mais pouvez-vous m'aider dans où regarder exactement? – NoviceMi

+0

com.android.support:appcompat-v25.3.1+ ajouté un support pour la coloration des widgets sur les appareils fonctionnant sous pré Android 5.1 (API niveau 21). Pour l'utiliser, assurez-vous d'étendre ou de définir le thème AppCompat et d'utiliser l'application: backgroundTint au lieu d'android: backgroundTint. Aussi changer android: élévation à l'application: élévation – Fr099y

+0

J'espère que cela aide. Mais comment exactement dois-je faire ce changement? Dois-je le taper dans 'styles.xml'? Et si oui .. que dois-je taper? – NoviceMi

0

Je pense que vous avez oublié d'ajouter le soutien compile 'com.android.support:design:25.3.1' ajouter ceci dépendance s dans votre fichier gradle comme celui-ci

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support:cardview-v7:25.3.1' 
    compile 'com.android.support:support-v4:25.3.1' 
} 
+0

J'ai déjà ajouté la ligne de code de conception aux dépendances. Néanmoins, j'ai collé votre code sur le mien et toujours pas de changement, Alors quoi d'autre? – NoviceMi