2010-11-06 1 views
4

Je cours un TabActivity. Dans la ligne suivante:Problème avec strings.xml ... ne peut pas passer R.string.foo comme une CharSequence

spec = tabHost.newTabSpec("alltime").setIndicator(R.string.plots_allTime) 
     .setContent(intent); 

Je reçois une erreur, car setIndicator() attend un CharSequence. Je ne suis pas vraiment sûr de savoir comment résoudre ce problème, car je devrais pouvoir passer une chaîne dans ce paramètre. Je pense que le problème réside 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 trop aimer ça. Y at-il un moyen de contourner cela?

Répondre

15
spec = tabHost.newTabSpec("alltime").setIndicator(getString(R.string.plots_allTime)) 
.setContent(intent); 
10

Vous devez obtenir une chaîne correspondant à l'ID de R.string: utiliser context.getText, qui retourne une CharSequence localisée, de style de chaîne par défaut du package de l'application de la table:

setIndicator(context.getText(R.string.plots_allTime)) 
Questions connexes