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

Vue hybride

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

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    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 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    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 actif
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    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 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    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 actif
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 96
    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 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    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

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, 13h44
  2. Attribuer une couleur à une cellule
    Par digitale83 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/09/2007, 16h48
  3. attribuer une couleur à une ligne d'une gridview
    Par babafredo dans le forum ASP.NET
    Réponses: 6
    Dernier message: 16/07/2007, 11h35
  4. Spécifier une couleur à une valeur
    Par gregory2526 dans le forum MATLAB
    Réponses: 12
    Dernier message: 06/03/2007, 20h11

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