Convertir le texte d’un input et effectuer un calcul dans une application Android
Maintenant, place à la partie la plus intéressante : le code ! Nous allons apprendre à convertir le texte entré et effectuer un calcul avec celui-ci.
Notre but ici, est de multiplier la valeur entrée par l’utilisateur dans le premier champ de texte de façon à obtenir la valeur en dollar, puis d’afficher cette valeur dans le deuxième champ de texte lorsque la personne cliquera sur le bouton « Convertir ».
Afin d’accéder au code, rendez-vous dans le fichier « EuroVersDollar » du dossier Java.
Le code que nous allons écrire est à placer à la suite du code étant déjà dans la balise « onCreate », à l’intérieur de celle-ci se trouve toutes les instructions à effectuer au démarrage de notre Activity.
Dans un premier temps en Java il faut instancier les objets de la manière suivante :
// Instanciation des variables par à rapport à l'ID final Button button = (Button) findViewById(R.id.button); final EditText editText1 = (EditText) findViewById(R.id.editText3); final EditText editText2 = (EditText) findViewById(R.id.editText4);
Ensuite, lorsque l’on souhaite faire quelque chose lors de l’appui d’un bouton par exemple, il faut « écouter » l’objet. C’est ce qu’on appelle un « Listener ».
Dans notre cas nous souhaitons effectuer un calcul lorsque nous appuyons sur le bouton Convertir, il faut donc créer une fonction « button.setOnClickListener » :
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int a = Integer.parseInt(editText1.getText().toString()); double result = a*1.062775; String resultConv = String.valueOf(result); editText2.setText(resultConv); } });
Dès à présent, vous pouvez lancer l’application pour tester ces deux blocs de codes.
Entrez alors une valeur au hasard dans le premier champ de texte, par exemple « 85 », cliquez sur convertir et le deuxième champ de texte prendra alors la valeur « 90.33 », étant le résultat de 85*1.062775.
Premier constat : Lorsque vous appuyez sur le champ de texte, il faut effacer manuellement le texte.
Deuxième constat : Il faut appuyez sur la touche retour du clavier pour appuyer sur le bouton puisque l’appui sur la touche entrer du clavier ne marche pas.
Deux choses à laquelle nous allons remédier par la suite !