Bonjour à tous/tes
Je suis débutant et je suis en train avec peine de créer une app qui entre autres calcule la
conversion de températures (ºC, ºF, K). J'ai bien rédigé mon activity, la première tranche de
calcule fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
        bc.setOnClickListener(new View.OnClickListener() {
            @Override
                    public void onClick(View v) {
 
            float a, b, c;
 
            a=Float.parseFloat(e1.getText().toString());
 
            c=a+32;
            e2.setText(""+c);
            c=a+273;
            e3.setText("" + c);
mais la deuxième fait planter activity mais pas l'app.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
                b=Float.parseFloat(e2.getText().toString());
 
                c=b-32);
                e2.setText(""+c);
                c=a+273;
                e3.setText("" + c);
Le problème c'est que je n'arrive plus à lier les deux opérations.
Voici l'activity complète qui me parait logique et qui fonctionne pour la 1º opération.
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
package lajares.supercalculator;
 
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
 
public class Temperatures extends Activity {
 
    EditText e1;
    EditText e2;
    EditText e3;
    Button bc;
    Button buttonC;
 
    private double chiffre1;
    private boolean clickOperateur = false;
    private boolean update = false;
    private String operateur = "";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.temperatures);
 
        e1 = (EditText)findViewById(R.id.editText1); /*champ celsius*/
        e2 = (EditText)findViewById(R.id.editText2); /*champ fahrenheit*/
        e3 = (EditText)findViewById(R.id.editText3); /*champ kelvin*/
        bc = (Button)findViewById(R.id.calculate);
        buttonC = (Button)findViewById(R.id.buttonC);
 
        e2 = (EditText)findViewById(R.id.editText2);
 
        bc.setOnClickListener(new View.OnClickListener() {
            @Override
                    public void onClick(View v) {
 
            float a, b, c;
 
            a=Float.parseFloat(e1.getText().toString());
 
            c=a+32;
            e2.setText(""+c);
            c=a+273;
            e3.setText("" + c);
 
                b=Float.parseFloat(e2.getText().toString());
 
                c=b-32);
                e2.setText(""+c);
                c=a+273;
                e3.setText("" + c);
 
 
            }
        });
        buttonC.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                resetClick();
            }
        });
    }
    public void resetClick(){
        clickOperateur = false;
        update = true;
        chiffre1 = 0;
        operateur = "";
        e1.setText("");
        e2.setText("");
        e3.setText("");
 
    }
}
Je voulais arriver à faire que quand on rempli un editText les autres se remplissent automatiquement
(ce qui fonctionne pour la première) l'erreur est ici mais je n'arrive pas à résoudre le pb. (un deuxième onClickListener ?)
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
 float a, b, c;
 
            a=Float.parseFloat(e1.getText().toString());
 
            c=a+32;
            e2.setText(""+c);
            c=a+273;
            e3.setText("" + c);
                                               ← ERREUR
 
                b=Float.parseFloat(e2.getText().toString());
 
                c=b-32);
                e2.setText(""+c);
                c=a+273;
                e3.setText("" + c);
Si qqun peut y jeter un œil et me réorienter.
Merci d'avance