230 votes

La méthode setDrawerListener est obsolète

Pendant que je fais quelque chose sur mon application, je constate que le tiroir de navigation de mon application a réduit sa taille. Mais je ne fais rien à ce sujet.

tiroir de navigation

Ensuite, après avoir vérifié le code, j'ai constaté que setDrawerListener était obsolète. Est-ce que quelqu'un a une solution à cela? Toute aide fera l'affaire. Merci d'avance!

 drawerLayout.setDrawerListener(actionBarDrawerToggle);
 

764voto

Luxi Liu Points 1663

Utilisez addDrawerListener() place.

87voto

Jzapata Points 429

Remplacer:

 drawer.setDrawerListener(...);
 

avec

 drawer.addDrawerListener(...);
 

public void setDrawerListener(DrawerLayout.DrawerListener listener) Définit un auditeur pour qu'il soit averti des événements du tiroir.

Notez que cette méthode est obsolète et que vous devez utiliser addDrawerListener(DrawerLayout.DrawerListener) pour ajouter un auditeur et removeDrawerListener(DrawerLayout.DrawerListener) pour supprimer un écouteur enregistré.

30voto

siva35 Points 204

Remplace cette ligne

 drawerLayout.setDrawerListener(actionBarDrawerToggle);
 

avec ça

 drawerLayout.addDrawerListener(actionBarDrawerToggle);
 

Exemple

   DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                    this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            assert drawer != null;
            drawer.addDrawerListener(toggle);
            toggle.syncState();

            NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
            assert navigationView != null;
            navigationView.setNavigationItemSelectedListener(this);
 

22voto

david glorioso Points 478

Je suppose que je vais répondre à ma question. Les dernières navigationView produit par défaut de android:layout_height , à près de 18dp lorsque vous choisissez "wrap_content". Donc, vous devez choisir l' android:layout_height que vous souhaitez pour votre navigationView ou tout simplement faire android:layout_height="match_parent".

<android.support.design.widget.NavigationView
    android:layout_width="320dp"
    android:layout_height="550dp"
    android:id="@+id/navigation_view_admin"
    android:layout_gravity="start">

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

De toute façon, c'est la hauteur augmente automatiquement lorsque vous ajoutez un article dans le tiroir de navigation.

Enfin, Utilisez addDrawerListener() au lieu de setDrawerLister() comme Luxi Liu a dit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X