Problème avec strings.xml ... ne peut pas passer R.string.foo comme CharSequence
-
29-09-2019 - |
Question
Je suis en cours d'exécution d'un TabActivity
. Dans la ligne suivante:
spec = tabHost.newTabSpec("alltime").setIndicator(R.string.plots_allTime)
.setContent(intent);
J'obtiens une erreur, car setIndicator()
attend un CharSequence
. Je suis sûr de ne pas vraiment comment résoudre ce problème, parce que je devrais être en mesure de passer une chaîne dans ce paramètre. Je pense que les mensonges de question dans le fait que le R.java
généré initialise tout dans le fichier strings.xml
comme public static final int
. La méthode setIndicator () ne semble pas comme ça trop. Y at-il moyen de contourner cela?
La solution
spec = tabHost.newTabSpec("alltime").setIndicator(getString(R.string.plots_allTime))
.setContent(intent);
Autres conseils
Vous devez obtenir une chaîne correspondant à l'ID de R.string: utilisation context.getText, qui renvoie une localisée, CharSequence style de la table de chaîne par défaut du package de l'application:
setIndicator(context.getText(R.string.plots_allTime) )