Je suis en train d'utiliser
Window w = getWindow();
w.setTitle("Mon titre");
pour changer le titre de mon activité actuelle mais cela ne semble pas fonctionner.
Est-ce que quelqu'un peut me guider sur la façon de changer cela?
Je suis en train d'utiliser
Window w = getWindow();
w.setTitle("Mon titre");
pour changer le titre de mon activité actuelle mais cela ne semble pas fonctionner.
Est-ce que quelqu'un peut me guider sur la façon de changer cela?
Pourquoi voteriez-vous contre cela? C'est bon de savoir que vous pouvez le faire depuis le XML aussi.
C'est à peu près la bonne façon de le faire, avec des références à des chaînes externes pour permettre une localisation facile. Devrait être la réponse acceptée.
Ce n'est pas la même chose que setTitle(). Définir la propriété android:label de l'activité de lancement changera également le nom de l'application sur l'écran des applications du téléphone. L'icône de votre application affichera la légende "Titre de mon activité".
Si vous le voulez une seule fois et laissez le système gérer le reste (non dynamique), faites comme ceci dans votre fichier manifeste :
//C'est le nom de mon titre personnalisé sur l'activité. <- La question concerne celui-ci.
//C'est le nom de mon titre personnalisé de l'icône (nom du lancement que vous voyez dans les applications/homescreens android)
@Sujay oui, tu peux, voici le code : try { int labelRes = getPackageManager().getActivityInfo(getComponentName(), 0).labelRes; Logger.d(this.getClass().getSimpleName(), "labelRes : " + labelRes); if (labelRes > 0 && getSupportActionBar() != null) { getSupportActionBar().setTitle(labelRes); } } catch (PackageManager.NameNotFoundException exception) { Logger.d(this.getClass().getSimpleName(), "exception attrapée : " + Log.getStackTraceString(exception)); }
Il y a un moyen plus rapide, il suffit d'utiliser
YourActivity.setTitle("Nouveau Titre");
Vous pouvez également le trouver à l'intérieur de la méthode onCreate() avec ceci, par exemple:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("Mon Titre");
}
En passant, ce que vous ne pouvez tout simplement pas faire, c'est appeler setTitle() de manière statique sans passer d'objet Activity.
Cela ne fonctionne pas lorsque vous appuyez sur le bouton de veille et rendez l'écran actif à nouveau. Le titre ne se met pas à jour. Des idées ?
C'est parce que onCreate() ne sera pas appelé dans votre exemple. Vous devriez envisager d'utiliser un autre gestionnaire d'événements, tel que onResume(). Je vous suggère de voir ce lien: developer.android.com/guide/components/activities/…
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.