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

@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> 

  • Comment puis-je définir la couleur de texte de résumé des préférences Android?
  • Texte de texte de texte Android dans la direction verticale
  • Android: Utilisation d'alignBaseline pour un texte suivant l'image
  • Taille de police différente des chaînes dans le même TextView
  • Android - Comment définir une police personnalisée pour l'application entière
  • Comment définir une largeur minimale (en caractères) pour un TextView?
  • Android: Où se cache l'attribut de couleur du texte du widget Spinner?
  • Comment souligner un texte dans android xml?
  • 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.