Aller au contenu

Utilisisé une variable local dans un TextView


Recommended Posts

Posté(e)

Bonjours a tous

Je bidouille en ce moment une petite application (c'est ma toute première) pour calculer le taux d'alcool dans le sang a partir de ce que l'on a bu.

Je suis peu être bête, mais sa fait 2 jours que j'essaye en vain d'afficher le résultat de mon calcul dans un textview. Je suis persuader que pourtant c'est quelque chose d'ultra simple mais je bute dessus.

Merci de votre aide.

  • Réponses 56
  • Créé
  • Dernière réponse

Top forumeurs sur ce sujet

Posté(e) (modifié)

J'ai fortement tendance à approuver l'extrait de code proposé au dessus.

Mais il faudrait en savoir plus pour donner un avis plus complet.

;)

Modifié par Galize
Posté(e)

Enfaite, mon code ne marche pas, éclipse ne détecte pas d'erreur mais une fois dans l'émulateur, il marche pas du tout.

Je suis obligé de mettre "forcer a quitter", voici mon code en intégralité:

package com.Breathalyzer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class main extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

int t=14562;

       TextView TextView01 = (TextView) findViewById(R.id.TextView01);
       TextView01.setText(t);
}

   }

Et encore merci de votre aide.

Posté(e) (modifié)

Peu importe ce que j'y met, soi j'obtiens une erreur, soir rien ne s'affiche.

Mon textviex s'appel TextView01, ma variable (calculer plus haut dans le code) s'appel h

Je doit bien avoir:

 TextView TextView01 = (TextView) findViewById(R.id.TextView01);
       TextView01.setText(h);

mais pourtant sa marche pas

Modifié par Rémi
Posté(e) (modifié)

TextView01.setText("blabla");

ca fonctionne?

TextView01.setText(h.toString());

ca dit quoi?

Un conseil: regarde ton logcat! sans ca, tu n'avancera jamais.

Modifié par Profete162
Posté(e) (modifié)

package com.Breathalyzer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class main extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

int t=14562;

       TextView aquoisertT = (TextView) findViewById(R.id.TextView01);
       aquoisertT.setText(String.valueOf(t));
}

   }

sa devrai marché

soyons clair dans ton main,il doit y avoir un textview nommé TextView01,mais un conseil renomme le,pour que ton code soit plus compréhensif

Modifié par feust
Posté(e) (modifié)

tu as donc bien un main.xml avec dedans un TextView dont l'id est '@id/Textview01'... tu confirme ?

et si tu fais setText("OK");

ça marche ?

et ça :

String ok = "OK";

TextView01.setTetxt(ok);

ça marche ?

zut profete m a doublé :p

Modifié par popolbx
Posté(e)

to prophe perso le int tu peux pas faire .toString()

tu dois utilisé String.valueof();

enfin bon c'est un detail

je vien de tester le code que j'ai mis il fonctionne

xD

Posté(e) (modifié)

Voila pour le moment tout marche mais je n'arrive pas a résoudre une erreur sur éclipse:, je veut définir la valeur de e suivant quel radiobutton est activé:

if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton01))) {
   int e=6/10;
} else {
      if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton02))) {
          int e=7/10;}

mais plus bas dans le code, au moment ou je me sert de e, éclipse me dit soit que e ne peut pas être résolu, soit que la variable local e n'a peu être pas été initialisée.

J'ai encore besoin d'aide.

Modifié par Rémi
Posté(e)

Si aucun de tes boutns n'est checké.. e n'existe pas!

mets "int e;" avant tes tests et e=123 dans les if/else

et essaye des programmes simples pour ne pas passer au dessus des bases, par pitié!

Posté(e) (modifié)
Voila pour le moment tout marche mais je n'arrive pas a résoudre une erreur sur éclipse:, je veut définir la valeur de e suivant quel radiobutton est activé:

if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton01))) {
   int e=6/10;
} else {
      if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton02))) {
          int e=7/10;}

mais plus bas dans le code, au moment ou je me sert de e, éclipse me dit soit que e ne peut pas être résolu, soit que la variable local e n'a peu être pas été initialisée.

J'ai encore besoin d'aide.

il faut ecrire :

int e=-1;
if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton01))) {
   e=6/10;
} else {
      if (getCheckedRadioButtonId()==(findViewById(R.id.RadioButton02))) {
          e=7/10;}

C'est une question de portée des variables.

Une variable n'est visible que dans le bloc {} où elle est déclarée.

Si aucun de tes boutns n'est checké.. e n'existe pas!

mets "int e;" avant tes tests et e=123 dans les if/else

et essaye des programmes simples pour ne pas passer au dessus des bases, par pitié!

En même temps, c'est rigolo. ;)

Modifié par Galize
Posté(e)

J'ai trouver un autre calcul du taux d'alcoolémie qui n'utilise pas de radiobutton (la d'où venais apparemment le problème)

Mon nouveau code ne me semble pas faux, éclipse ne me sort pas d'erreur, mais il ne marche toujours pas.

package com.Breathalyzer;
import com.Breathalyzer.R;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class main extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
   }


private int getText(View findViewById) {
   // TODO Auto-generated method stub
   return 0;
}
int a=getText  (findViewById(R.id.EditText02));
int b=getText  (findViewById(R.id.EditText03));
int c=75/1000;
int d=getText  (findViewById(R.id.EditText01));
int e=getText  (findViewById(R.id.EditText04));
int f=15/1000;
int g=a*b*c;
int h=g/d;
int i=e*f;
int k=h-i;

{TextView result = (TextView) findViewById(R.id.TextView08);
result.setText(String.valueOf(k));}
}

Vous pouvez vérifier ou tester.

Merci

Posté(e) (modifié)

oui que tu fasse petit a petit

ya 2h tu savais pas faire int e= 6 + 4;

alors essai de suivre le tuto d'android france,comme ya plein d'erreur essai de les corrigé,et apres on verra

mais la tu raconte nimp

Eclipse ne voit a aucun moment du code HTML,c'est l'émulateur qui le voit

String mapage="tu peux mettre n"importe quoi entre ces balise eclipse c'en tamponne";

Modifié par feust
Posté(e)

Tu a raison, dans mon code il y avait des " qui posait problème mais la éclipse me met: La chaine de caractères n'est pas correctement fermée par des double-quotes sur la ligne suivante

 String mapage=". . . . . . . ."

Et li me suggere de faire:

 String mapage="". . . . . . . ."

mais la mon code html se limiterais à , et a ce moment la il me met plein d'erreurs

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.




×
×
  • Créer...