À l'aide de AppCompat 'layout_behavior" par "@string/appbar_scrolling_view_behavior " lance exception
J'ai un étrange problème à l'aide de la AppCompat Lib 22.2 avec le nouveau introduit: layout_behavior
Si je l'utilise avec la valeur "@string/appbar_scrolling_view_behavior" , comme décrit ici Android Support À La Conception Lib l'application se termine avec l'exception suivante:
Could not inflate Behavior subclass android.support.design.widget.Settings
Caused by: java.lang.RuntimeException: Could not inflate Behavior subclass android.support.design.widget.Settings
Caused by: java.lang.ClassNotFoundException: android.support.design.widget.Settings
Caused by: java.lang.NoClassDefFoundError: android/support/design/widget/Settings
Caused by: java.lang.ClassNotFoundException: android.support.design.widget.Settings
Si je change d' :
app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
tout fonctionne bien.
Ce que je suis absent ?
- Êtes-vous à l'aide de ProGuard?
- Salut, non je ne suis pas à l'aide de proguard. Voir mon build.gradle: hastebin.com/funijokudi.vbs
- Honte sur moi. Je dois avoir accidentellement exportet la chaîne de mon string.xml.
- J'ai eu le même problème et c'était en effet proguard.
Vous devez vous connecter pour publier un commentaire.
Pour les autres, qui rencontre cette exception et l'utilisation proguard - vous besoin d'ajouter après le proguard règles:
ou si vous ne souhaitez pas conserver la totalité de la conception des composants de la bibliothèque, vous pouvez utiliser:
Une autre raison pour que cela se produise est lorsque vous êtes à l'extension de FloatingActionButton.Comportement et vous n'avez pas (Context, AttributeSet) constructeur. Ce qui m'est arrivé avec la conception de la bibliothèque de v. 23.0.1
Il suffit d'ajouter ce constructeur de votre sous-classe:
FloatingActionButton.Behavior
(au moins dans 23.2.0 qui je suis actuellement à l'aide) ne modifie pas de tout constructeur, de sorte que le sans paramètre est la seule disponible.Vous devez ajouter de la conception lib de votre projet.
Vérifier l'échantillon https://github.com/chrisbanes/cheesesquare
Pour les développeurs qui sont à l'aide d'erreur uniquement lors de l'utilisation de proguard, il suffit d'ajouter une seule ligne de proguard fichier de règles :