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 :

Application conversion Celsius / Fahrenheit


Sujet :

Android

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Application conversion Celsius / Fahrenheit
    Bonjour !

    Depuis quelques jour j'apprends à coder des applications Android, mais là j'ai un problème...

    En gros l'application est censée convertir du Celsius en Fahrenheit, et vice versa.
    Ca compile sans problème mais quand je lance l'application sur l'Android virtuel, ça plante.

    Je vous donne mon activity_main.xml
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
     
        <TextView
            android:id="@+id/text_titre"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="CONVERTISSEUR C - F"
            android:textAppearance="?android:attr/textAppearanceLarge" />
     
        <EditText
            android:id="@+id/editText1"
            android:layout_width="254dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:ems="10"
            android:hint="Rentrez la valeur à convertir"
            android:inputType="numberDecimal" />
     
            <TextView
                android:id="@+id/text_unite"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:text="Unite :"
                android:textAppearance="?android:attr/textAppearanceMedium" />
     
        <RadioGroup
            android:id="@+id/choix"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checkedButton="@+id/radio2"
            android:orientation="horizontal">
     
            <RadioButton
                android:id="@+id/choix_cel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Celcius" />
     
            <RadioButton
                android:id="@+id/choix_far"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Fahrenheit" />
        </RadioGroup>
     
        <Button
            android:id="@+id/bouton_conv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Convertir !" />
     
         <TextView
             android:id="@+id/resultat"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             android:text="__"
             android:textAppearance="?android:attr/textAppearanceLarge" />
     
    </LinearLayout>
    Et mon MainActivity.java
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    package appli.Jojoba;
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.view.KeyEvent;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.View.OnKeyListener;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.RadioGroup;
    import android.widget.TextView;
    import android.widget.Toast;
     
     
    public class MainActivity extends Activity {
     
        private final String defaut = "Vous devez cliquer sur le bouton « Convertir » pour obtenir un résultat.";
     
        Button b_conv = null;
        TextView tx_res = null;
        RadioGroup choix = null ;
        EditText saisie = null ;
     
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
     
     
        // On récupère toutes les vues dont on a besoin
        b_conv = (Button)findViewById(R.id.bouton_conv);
        tx_res = (TextView)findViewById(R.id.resultat);
        choix = (RadioGroup) findViewById(R.id.choix);
        saisie = (EditText) findViewById(R.id.editText1);
     
        // On attribue un listener adapté aux vues qui en ont besoin
     
        saisie.addTextChangedListener(saisieWatcher) ;
        b_conv.setOnClickListener(b_convListener);
     
        // On met les valeurs par défaut
       }
     
     
      // On explicite les méthodes appelées dans les listener
     
     
      // SAISIE
      private TextWatcher saisieWatcher = new TextWatcher () {
     
        @Override
        public void afterTextChanged(Editable arg0) {
        }
     
        @Override
        public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                int arg3) {
        }
     
        @Override
        public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
            tx_res.setText(defaut);
        }
      } ;
     
     
      //ENVOI 
        private OnClickListener b_convListener = new OnClickListener () {
     
          String s = saisie.getText().toString();
          float sValue = Float.valueOf(s) ; // saisie passée en nombre
     
          @Override
          public void onClick(View v) {
                 if (choix.getCheckedRadioButtonId() == R.id.choix_cel){
                     sValue = sValue *9/5 + 32 ;
                     tx_res.setText("Cela fait" + String.valueOf(sValue)+" F.");
                }
                 else { 
                     sValue = (sValue - 32) * 5/9 ;
                     tx_res.setText("Cela fait" + String.valueOf(sValue)+" C.");
                }
          };
      };
    }
    J'ai isolé le problème, c'est dans la partie ENVOI. Si je désactive le bouton Convertir, ça marche.. mais dès que je le réactive ça plante.

    Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

    Merci à vous

    Chocolatine_

  2. #2
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Il faut que ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     String s = saisie.getText().toString();
    	  float sValue = Float.valueOf(s) ; // saisie passée en nombre
    Soit dans le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @Override
    	  public void onClick(View v) {
    Sinon, envoi la stack trace, cela sera plus simple.

    Cordialement,
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ah oui ça marche ! Super merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertisseur Celsius-Fahrenheit simple
    Par screamlets dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 03/12/2014, 08h47
  2. Réponses: 2
    Dernier message: 23/07/2014, 22h19
  3. Fahrenheit - Celsius conversion
    Par dKayt dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 23/05/2013, 01h25
  4. [D7] Conversion d'une application console en ISAPI
    Par Magnus dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 28/09/2005, 14h27

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