IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Attribuer une couleur à une "chaine String"


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut Attribuer une couleur à une "chaine String"
    Bonjour,
    Est il possible, et comment attribuer une couleur a une resource "String"?

    Je m'explique :
    J'ai un textView qui se rempli sous condition vrai/faux.
    Le but que la chaine String pour la bonne réponse s'écrive en vert (par exemple "Bonne réponse"" ecrit en vert)
    Et que la chaine @<string name = "badRéponse"> ..... ( "Mauvaise réponse" s'écrive en rouge.

    J'ai rien vu de bien convainquant sur google ..
    Merci

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Tu prend le problème à l'envers.
    C'est la couleur d'affichage du textview qu'il faut changer. Tu ne peux pas "associer" une couleur à une string.

    Voir : http://developer.android.com/referen.../TextView.html
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par grunk Voir le message
    Tu prend le problème à l'envers.
    C'est la couleur d'affichage du textview qu'il faut changer. Tu ne peux pas "associer" une couleur à une string.

    Voir :
    Merci pour la réponse.

    Oui c'est une solution mais le soucis est que c'est un textView unique.
    Le tla string s'affiche selon une condition.
    Mais je vais creuser de ce coté.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    C'est assez simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(maCondition) {
        myTextView.setText("Text en Vert");
        myTextView.setTextColor(Color.GREEN);
    } else {
        myTextView.setText("Text en Rouge");
        myTextView.setTextColor(Color.RED);
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut
    Merci,
    oui cela à l'air tout simple .....

    Sauf pour moi .... je n'arrive pas a le caler dans mes imbrications de "IF" .....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     if ((reponseb+reponsef) < nbreQuestions)	{
     
    					 ((EditText) findViewById(R.id.editText1)).setText("");
    					 ((TextView) findViewById(R.id.textView2)).setText("");
    					 ((TextView) findViewById(R.id.textView1)).setText(masc);
     
    					 String bnReponse = res.getString(R.string.verdict);
    					 String BadReponse = res.getString(R.string.verdictBad);
    					  String chaine = res.getString(R.string.compteur,(reponseb+reponsef)+1,nbreQuestions); 
    	                  TextView compteur = (TextView) findViewById(R.id.textView3);
    	                  compteur.setText(chaine);	 
     
    	                  Button validation = (Button) findViewById(R.id.btn2);
    	                  editText = (EditText) findViewById(R.id.editText1);
     
    	          		validation.setOnClickListener(new View.OnClickListener() {
     
    						private TextView myTextView;
     
    						public void onClick(View v) {
     
    							userReponse = editText.getText().toString();
    	          				String verdict = getString (R.string.verdict) ;
    	          				String verdictBad = getString (R.string.verdictBad);
     
    	          				if (userReponse.equals(femi))	{
     
    	          					myTextView.setText("Text en Vert");
    	          					myTextView.setTextColor(Color.GREEN);									       					
     
    	          					((TextView) findViewById(R.id.textView2)).setText(verdict);
    		          				reponseb++;		          					          				
     
    	          				}
    	          				else	{
    	          					TextView myTextView = null;
    								myTextView.setText("verdictBad");
    	          					myTextView.setTextColor(Color.RED);      					
     
    	          					//((TextView) findViewById(R.id.textView2)).setText(verdictBad);
     
    	          					repAttend = femi;
    	          					userRep = userReponse;	          				
    	          					propos	= masc;
    	          					reponsef++;
     
    	          				}			} } );	
    			}	 
    				 else
    				 {
                      ((EditText) findViewById(R.id.editText1)).setText("");
    					 ((TextView) findViewById(R.id.textView2)).setText("");
    					 ((TextView) findViewById(R.id.textView1)).setText("");
    					 ((TextView) findViewById(R.id.textView4)).setText(" Fin du questionnaire !");
    Et le log

    L'erreur ligne 11 correspond à : myTextView.setText("Text en Vert");

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    06-24 17:32:21.487: E/AndroidRuntime(977): FATAL EXCEPTION: main
    06-24 17:32:21.487: E/AndroidRuntime(977): java.lang.NullPointerException
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at com.android.quiz1.Quiz1Activity$1$1.onClick(Quiz1Activity.java:112)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.view.View.performClick(View.java:2408)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.view.View$PerformClick.run(View.java:8816)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.os.Handler.handleCallback(Handler.java:587)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.os.Looper.loop(Looper.java:123)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at android.app.ActivityThread.main(ActivityThread.java:4627)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at java.lang.reflect.Method.invokeNative(Native Method)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at java.lang.reflect.Method.invoke(Method.java:521)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    06-24 17:32:21.487: E/AndroidRuntime(977): 	at dalvik.system.NativeStart.main(Native Method)

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Tu n'instancies nulle-part myTextView donc forcément tu as un null pointer exception

    De même quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TextView myTextView = null;
    myTextView.setText("verdictBad");
    Ca ne peux évidemment pas marcher ...

    Quelque chose comme ça devrait déjà être mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TextView myTextview = (TextView) findViewById(R.id.textView2);
    myTextView.setText(verdict);
    myTextView.setTextColor(Color.GREEN);
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut
    Oupsssss

    Encore merci.
    Pourtant, j'en étais pas tès loin, j'avais testé : ((TextView) findViewById(R.id.textView2)).setText(verdict);

    bon, je vais m'y mettre cet après midi .... après les grosses chaleurs ..

  8. #8
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par grunk Voir le message

    Quelque chose comme ça devrait déjà être mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TextView myTextview = (TextView) findViewById(R.id.textView2);
    myTextView.setText(verdict);
    myTextView.setTextColor(Color.GREEN);
    Houlala ...
    Cela va beaucoup mieux en effet ..
    ça fonctionne parfaitement ....

    Mais bon, ce n'est pas pour cela que je vous autorise à partir en vacances ...
    J'ai encore en stock une bonne floppée + 12 de questions aussi bêtes les unes que les autres ....

    Merci.
    A+
    Carus

  9. #9
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 894
    Points
    1 894
    Par défaut
    Citation Envoyé par carus Voir le message
    Houlala ...
    Cela va beaucoup mieux en effet ..
    ça fonctionne parfaitement ....

    Mais bon, ce n'est pas pour cela que je vous autorise à partir en vacances ...
    J'ai encore en stock une bonne floppée + 12 de questions aussi bêtes les unes que les autres ....

    Merci.
    A+
    Carus
    Franchement, au vu de ton code : c'est un bon bouquin sur l'algorithmie qu'il faudrait car ce code est simple et complexe à comprendre à la fois...

    En deuxième : le choix d'un bon moteur de recherche pour répondre à des questions classiques comme celle de ce post. Ceci évitera surement les +12 questions comme celle-là.

    Enfin, utiliser en dernier ressort un forum de discussion...

    Bon courage et bon travail pendant les vacances.

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  10. #10
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    Points : 53
    Points
    53
    Par défaut
    franchement
    BONJOUR!!!

    Je ne sais pas qui vous êtes pour vous permettre de telles inepties, mais sachez, que je n'y connais rien et que j'essaye tout seul.
    Que les moteur de recherche, je les fais tourner.
    Que je ne pose une question qu'après y avoir passé un bon bout de temps, voir de jours.

    Maintenant, si pour vous c'est si simple, soyez assez humble pour admettre que d'autres n'ont pas vos connaissances, et que peut-être voire sûrement, ils ont des connaissances que vous n'avez pas.
    Pour commencer la politesse.

    Bonne vacances à vous, et apprenez la diversité dans la savoir.

  11. #11
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 894
    Points
    1 894
    Par défaut
    Citation Envoyé par carus Voir le message
    franchement
    BONJOUR!!!

    Je ne sais pas qui vous êtes pour vous permettre de telles inepties, mais sachez, que je n'y connais rien et que j'essaye tout seul.
    C'est bien pour cela que je vous conseille un livre sur l'algorithmie. Rien de méchant dans ma suggestion, juste que c'est une des premières choses que l'on apprend quand on veut réaliser du codage.

    Maintenant, si pour vous c'est si simple, soyez assez humble pour admettre que d'autres n'ont pas vos connaissances, et que peut-être voire sûrement, ils ont des connaissances que vous n'avez pas.
    Entre autre choses, j'ai commencé par l’algorithmie et je suis persuadé que vous avez des qualités que je n'ai pas...

    Pour commencer la politesse.

    Bonne vacances à vous, et apprenez la diversité dans la savoir.
    Pourquoi pensez-vous que je suis impoli ?

    En tout cas, je vous souhaite sincèrement une agréable soirée.

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

Discussions similaires

  1. [VBA] Donner une couleur à une case
    Par ickyknox dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/03/2008, 14h44
  2. Attribuer une couleur à une cellule
    Par digitale83 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/09/2007, 17h48
  3. attribuer une couleur à une ligne d'une gridview
    Par babafredo dans le forum ASP.NET
    Réponses: 6
    Dernier message: 16/07/2007, 12h35
  4. Spécifier une couleur à une valeur
    Par gregory2526 dans le forum MATLAB
    Réponses: 12
    Dernier message: 06/03/2007, 21h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo