Aller au contenu

problème de chaine de caractères a afficher


rudante

Recommended Posts

Bonjour, voici mon petit problème:

Je voudrais pouvoir envoyer une chaine de caractères via un intent a une activité afin d'en afficher le contenu. Sachant que celui ci peu varier d'une fois sur l'autre, genre après avoir récupéré un texte issus d'une boite de saisie texte (EditText).

J arrive bien a envoyer ma chaine de caractères avec:

EditText texte = ((EditText)findViewById(R.id.saisieEditText));

String chaine_ascii = texte.getText().toString();

Intent intentsaisie_reel = new Intent(Activ_affiche_m.this,Activ_saisie.class);

intent.putExtra("ma_chaine",chaine_ascii);

startActivity(intent);

et je peu récupérer les infos dans Activ_saisie de manière suivante:

Bundle b = getIntent().getExtras();

String chaine_a_afficher = b.getString("ma_chaine");

Jusque la tout ce passe bien mais je voudrais que ce texte s'affiche et je ne vois pas comment l'intégrer dans mon fichier xml pour qu'il puisse faire parti de mon TextEdit genre:

<TextView

android:text="@string/nom_string" <- je voudrais le mettre la

android:id="@+id/TextViewOnglet1"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</TextView>

je ne peu pas faire usage de java comme ceci:

TextView monTextView = new TextView(this);

setContentView ( monTextViex );

monTextView.setText( chaine_a_afficher);

car j ai un gros fichier xml plein d'onglet, de boite de saisie... et forcement le texte a afficher doit apparaitre au milieu de tout ca :-(

Le plus simple serait de pouvoir créer une Id de variable a la volé et lui affecter ma chaine de caractères pour changer android:text="@string/nom_string".

Ca parait pas bien compliquer, cependant je ne sais pas faire: ni créer une id pour variable, ni faire pointer dans un fichier xml sur une variable autre qu'une ressource contenu dans le fichier res/string.xml

Bon voilou, si vous pouvez m'ouvrir les yeux (c est peu être le problème il est 5h du mat je suis HS)

merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

C'est très simple, il te suffit de récupérer l'instance du TextView qui correspond à celui déclaré dans le layout XML et dans lequel tu veux afficher le texte, et d'utiliser la méthode setText pour positionner ce texte

TextView tv = (TextView)findViewById(R.id.TextViewOnglet1);
tv.setText(chaine_a_afficher);

Lien vers le commentaire
Partager sur d’autres sites

Ha bin oui tout simplement. Des fois on cherche des complications la ou y en a pas :P

Cela dit j aimerai avoir un petit éclaircissement, bon c est juste pour ma culture personnel et histoire de savoir comment ca ce passe:

Quand tu utilises cette méthode est ce que Android n'aurait pas tendance a afficher le View ( la page ) tel qu'elle est présenté dans le fichier XML puis une fois terminé, remplacer le texte affiché (celui du XML) par celui de contenu dans le source Java ? C est juste histoire de savoir a quel moment intervient l'écrasement des données.

En tous cas merci pour la solution, elle m'ouvre pas mal de perspectives ;-) et surtout ca va me permettre de réutiliser des interfaces xml pour plusieurs activités ^^

Lien vers le commentaire
Partager sur d’autres sites

Effectivement, le contenu issu du XML sera d'abord pris en compte lors du chargement du layout, puis le texte sera remplacé par celui passé en paramètre de setText ensuite. Au niveau du rendu graphique, tu ne verras pas forcément ces deux étapes, tout dépend de quand ces évènements se passent: par ex si le setText est fait dans le onCreate de ton Activity, comme l'ihm n'est mise à jour réellement qu'une fois sorti de la méthode onCreate, tu ne verras que le texte positionné par le setText

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...