android (changement de chaîne dans du code java)
Dans le /res/values dossier de mon projet android, j'ai une chaîne de caractères et qui est référencé dans un texte à afficher dans mon fichier xml, je veux changer la corde dans mon fichier java.
Comme vous pouvez le voir ci-dessous dans le code, j'ai fait une variable de chaîne et puis en dessous j'ai mis ce que la chaîne variable est définie, qui est l'endroit où la chaîne est situé. où j'ai "ici" posée dans le code c'est là que je veux changer de chaîne dans les valeurs de dossier. mais je ne sais pas quel est le code à utiliser pour le régler.
Je pouvais juste changer le texte d'une vue de mon fichier java, qui je ne sais comment faire, mais c'est une vieille façon, et d'un avertissement, donc je préfère utiliser une chaîne de caractères qui est la meilleure façon de le faire.
Avec ma connaissance de modification de texte en mode texte j'ai deviné ma façon, à ce stade, mais je ne sais pas comment faire pour aller plus loin, pouvait-on me donner quelques conseils sur quoi faire, merci.
String string;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counter = 0;
add = (Button) findViewById(R.id.badd);
sub = (Button) findViewById(R.id.bsub);
reset = (Button) findViewById(R.id.breset);
display = (TextView) findViewById(R.id.tvdisplay);
string = (String) getString(R.string.counter);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO Auto-generated method stub
((///////////////here////////////////))
counter++;
}
});
- J'ai supprimé les références à eclipse et eclipse de balise à partir de cette question, comme il n'est pas lié.
- De ma compréhension, ces chaînes sont destinés à être des constantes, donc je ne pense pas que vous serez en mesure de modifier par programmation. Je suis encore nouveau pour android dev cependant, afin de ne pas me tenir à cela.
- Vous avez l'idée - voir ma réponse.
- Oui ta raison, je comprends maintenant merci pour votre aide et le temps:)
Vous devez vous connecter pour publier un commentaire.
Vous nous en a dit beaucoup de modification de texte, mais vous n'avez pas dit ce que le texte devrait être. J'ai besoin de deviner, trop:
L'strings.xml le fichier doit être utilisé pour des textes qui pourrait changer pour les différentes langues. Si vous voulez juste changer le texte d'un compteur, vous ne devriez pas le faire via strings.xml comme les chiffres sont universels 🙂
Essayez d'aller avec ça:
Vous ne pouvez pas modifier le texte attribué à
<string>
éléments d'un /res/values/strings.xml fichier lors de l'exécution. Ils sont les constantes de manière efficacefinal
.Vous ne pouvez pas modifier une mise en page fichier xml au moment de l'exécution. Si vous avez créé un modèle avec une
TextView
qui a sonandroid:text
attribut défini pour une première chaîne de ressource, qui est fondamentalement une "première" valeur et ne peut pas être changé en quelque chose d'autre au moment de l'exécution.setText(...)
qui est une méthode en Java et n'a rien à voir avec le XML fichier de mise en page. L'attributandroid:text
est utilisé par la disposition inflater lorsque vous appelezsetContentView(R.layout.main)
. La mise en page inflater processus XML des éléments d'INTERFACE utilisateur tels queTextView
. Quand il rencontre unandroid:text
élément, il appellesetText(...)
passage dans le texte de cet attribut.Vous souhaitez utiliser les setText() méthode.
string = "hello world";
puisdisplay.setText(string);