Android Change Navigation Drawer Menu Items Texte par programmation

J'ai le nouveau tiroir de navigation dans mon application et je souhaite modifier dynamiquement le texte du titre des éléments de menu de la vue de navigation à partir du code. J'ai regardé de nombreux messages, mais je ne peux pas comprendre, comment puis-je le faire. Comment puis-je réaliser cela correctement?

MainActivity.java

  • Vue en liste Android Affichage des glissades droite / gauche comme journal des appels
  • DrawerLayout - Exception envoi de l'événement de saisie
  • Comment supprimer le fond noir entre le début d'une nouvelle activité pendant l'animation slide_left?
  • Impossible d'afficher le rapport de trace HTML généré par l'outil Systrace dans Android SDK
  • Comment mettre à jour Gradle dans un studio Android
  • Définir la date à partir d'un shell sur Android
  • @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); 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); drawer.setDrawerListener(toggle); toggle.syncState(); NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); } 

    Activity_main_drawer.xml

     <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/nav_camara" android:icon="@android:drawable/ic_menu_camera" android:title="Import" /> <item android:id="@+id/nav_gallery" android:icon="@android:drawable/ic_menu_gallery" android:title="Gallery" /> <item android:id="@+id/nav_slideshow" android:icon="@android:drawable/ic_menu_slideshow" android:title="Slideshow" /> <item android:id="@+id/nav_manage" android:icon="@android:drawable/ic_menu_manage" android:title="Tools" /> </group> <item android:title="Communicate"> <menu> <item android:id="@+id/nav_share" android:icon="@android:drawable/ic_menu_share" android:title="Share" /> <item android:id="@+id/nav_send" android:icon="@android:drawable/ic_menu_send" android:title="Send" /> </menu> </item> 

  • Alignement des boutons de la barre d'outils Android v7
  • Échapper à des personnages spéciaux comme & in android xml
  • Broadcastreceiver et activité en pause
  • Android: Comment puis-je ajouter des liens HTML dans un ListView?
  • View in ScrollView ne correspond pas à parent comme configuré
  • Comment puis-je modifier un MenuItem sur le menu Options sur Android?
  • 2 Solutions collect form web for “Android Change Navigation Drawer Menu Items Texte par programmation”

    Vous pouvez modifier le titre de l'élément de menu Navigation par programme en ajoutant les lignes suivantes dans le fichier MainActivity.java .

     @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ... //other stuff here ... NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); // get menu from navigationView Menu menu = navigationView.getMenu(); // find MenuItem you want to change MenuItem nav_camara = menu.findItem(R.id.nav_camara); // set new title to the MenuItem nav_camara.setTitle("NewTitleForCamera"); // do the same for other MenuItems MenuItem nav_gallery = menu.findItem(R.id.nav_gallery); nav_gallery.setTitle("NewTitleForGallery"); // add NavigationItemSelectedListener to check the navigation clicks navigationView.setNavigationItemSelectedListener(this); } 

    Cela fonctionne bien pour moi. J'espère que cela vous aidera.

    Changez le code comme ci-dessous si vous renommez ou supprimez un élément de la liste des tiroirs du menu de navigation

      NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); if (navigationView != null) { Menu menu = navigationView.getMenu(); menu.findItem(R.id.nav_profile).setTitle("My Account"); menu.findItem(R.id.nav_mng_task).setTitle("Control Task"); //menu.findItem(R.id.nav_pkg_manage).setVisible(false);//In case you want to remove menu item navigationView.setNavigationItemSelectedListener(this); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.