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

  • Passer l'objet dans Intention sans implémentation Serializable ou Parcelable
  • Laisser une animation Android à son état final
  • Créer une colonne indexée en sqlite
  • Quelle plate-forme mobile dois-je commencer à apprendre?
  • Java.lang.NoClassDefFoundError lors de l'exécution du test JUnit dans Netbeans
  • Pourquoi mon système recouvre-t-il toutes les touches (aucune interaction avec la vue sous-jacente n'est possible)
  • @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> 

  • Stutter audio permanent sur LGE Nexus 4 avec le Deezer Android SDK
  • Ouvrir Google Maps dans le but d'un emplacement spécifique dans Android
  • Forcer l'action Bar afficher la vue de recherche
  • Positionnement des éléments du menu à gauche de l'ActionBar dans Honeycomb
  • Sip Error lors de l'enregistrement
  • Comment puis-je ajouter un numéro de version à mes fichiers APK en utilisant les versions 0.14+ du plugin Android Gradle?
  • 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.