J'utilise BottomNavigationViewex bibliothèque et j'ai mis à niveau Androidx dans mon projet.
BottomNavigationViewEx navigation = findViewById(R.id.navigation); Logger.d(TAG, "navigation == null " + (navigation == null)); if (navigation != null) { navigation.setCurrentItem(2); // Line 170: This make crash navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); navigation.setTextVisibility(false); navigation.enableAnimation(false); navigation.enableShiftingMode(false); navigation.enableItemShiftingMode(false); int iconSize = 36; navigation.setItemHeight(BottomNavigationViewEx.dp2px(this, iconSize + 16)); navigation.setIconSize(iconSize, iconSize); }
3 Réponses :
mettre ci-dessous code dans gradle.properties code> fichiers. p>
android.useandroidx = true
android.EnableJetier = true code> p>
Je pense que vous n'avez pas lu la question clairement, Androidx est déjà activé dans son projet.
@Shivamyadav Androidx peut être activé même sans permettre le reprise
Ensuite, vous devriez mentionner seulement cette ligne Android.EnableJetier = true.
Ce La bibliothèque n'est pas mise à jour et utilise la réflexion Cela signifie que la bibliothèque recherche des champs privés et des méthodes de la classe fournies par l'ancienne bibliothèque de conception de support. Avec la bibliothèque de composants matériels (il est requis par Androidx), ces champs et méthodes pourraient être différents ou pourraient changer à l'avenir. java.lang.nosuchfieldException: pas de champ mmenuView en classe LCC / Google / Android / Matériel / BottomNavigation / BottomNavigationView; (Déclaration de 'com.google.android.material.bottomnavigation.bottomnavigationvoirview' apparaît dans /data/app/com.calm_health.research-/base.apk) sur java.lang.class.getDeclaredfield (méthode natif) à p>
blockQuote> android.support.design.widget.bottomnavigationview code> strong>. p>
Comme vous pouvez vérifier l'erreur, la bibliothèque recherche un mmenuView code> qui n'est pas présent dans
BottomNavigationView code>. P>
https://github.com/ittianyu/bottomnavigationvief/issues/126 p>
@giddy naya a dit, c'est ma réponse p>
Qu'est-il arrivé à MainActivity.java: Ligne 170?
Je ne pense pas que ce soit arrivé après la mise à niveau vers
androidx code>. J'ai fait face à cette façon avant cela. Et je suppose que cela a quelque chose à voir avec ce
navigation.EnableditemShiftingMode (faux); code>?
Suivez le problème sur GitHub. Voir le dernier commentaire .
Avez-vous lu cette ligne à partir de la nouvelle version DOC "AndroidX Utilisez une nouvelle version et ajoutez de la configuration dans Gradle.Properties"?
Avez-vous ajouté des bibliothèques Maven et Jetpack?
Recherche pour android.support.design.widget.bottomnavigationview dans votre projet et remplacez-le avec Androidx Afficher.
@Giddy Naya a déclaré: Github.com/ittianyu/bottomnavigationViewEx/issues/126 m'aide , c'est une réponse correcte. Je veux accepter ce commentaire comme une réponse