Cacher le clavier après un clic sur le bouton
guineeguinee
Messages postés
190
Date d'inscription
Statut
Membre
Dernière intervention
-
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'essaie de faire une calculatrice d'IMC, je voudrais qu'après qu'on finisse d'écrire son poids et sa taille (dans des EditText) et qu'on clique sur le bouton "calculer" que le clavier disparaisse, parce qu'il masque le resultat du calcul, comment puis-je parvenir à le faire ?
Ci-bas mon code Java
Merci d'avance!
J'essaie de faire une calculatrice d'IMC, je voudrais qu'après qu'on finisse d'écrire son poids et sa taille (dans des EditText) et qu'on clique sur le bouton "calculer" que le clavier disparaisse, parce qu'il masque le resultat du calcul, comment puis-je parvenir à le faire ?
Ci-bas mon code Java
package com.calculateur.imc; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.TextView; public class Main2Activity extends AppCompatActivity { private EditText poids; private EditText taille; private TextView result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); poids = (EditText) findViewById(R.id.etp); taille = (EditText) findViewById(R.id.ett); result = (TextView) findViewById(R.id.result); } public void calculateIMC(View v) { String poidstr = poids.getText().toString(); String taillestr = taille.getText().toString(); if (poidstr != null && ! "".equals(poidstr) && taillestr != null && ! "".equals(taillestr)) { float taillevalue = Float.parseFloat(taillestr) / 100; float poidsvalue = Float.parseFloat(poidstr); float imc = poidsvalue / (taillevalue * taillevalue); displayIMC (imc); } } private void displayIMC (float imc){ String imclabel = ""; if (Float.compare(imc, 16f) <= 0) { imclabel = getString(R.string.denutrition); } else if (Float.compare(imc, 16f) > 0 && Float.compare(imc, 18.5f) <= 0 ){ imclabel = getString(R.string.maigreur); } else if (Float.compare(imc, 18.5f) > 0 && Float.compare(imc, 25f) <= 0 ){ imclabel = getString(R.string.normale); }else if (Float.compare(imc, 25f) > 0 && Float.compare(imc, 30f) <= 0 ){ imclabel = getString(R.string.surpoids); }else if (Float.compare(imc, 30f) > 0 && Float.compare(imc, 35f) <= 0 ){ imclabel = getString(R.string.obesite_moderée); }else if (Float.compare(imc, 35f) > 0 && Float.compare(imc, 40f) <= 0 ){ imclabel = getString(R.string.obesite_severe); } else { imclabel = getString(R.string.obesite_morbide); } imclabel = imc + "\n\n" + imclabel; result.setText(imclabel); } }
Merci d'avance!
A voir également:
- Inputmethodmanager
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Comment faire le + sur clavier telephone iphone - Guide
- Comment taper / sur clavier - Guide
- Le clavier de l'ordinateur - Guide
- Comment changer le clavier qwerty en azerty - Guide
3 réponses
Hello,
C'est un "problème" assez récurrent et la réponse se trouve rapidement sur le web:
Quelques remarques par rapport à ton code:
- pour tester si une chaine de caractères est null ou vide:
- si tu saisies autre chose que des valeurs numériques dans tes champs, que se passe-t-il? Crash?
- pour comparer des float, utilises les opérateur basiques ">", "<", etc. plutôt que Float.compare()
C'est un "problème" assez récurrent et la réponse se trouve rapidement sur le web:
public void hideKeyboard(Context context, EditText editText) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(editText.getApplicationWindowToken(), 0); }
Quelques remarques par rapport à ton code:
- pour tester si une chaine de caractères est null ou vide:
TextUtils.isEmpty()
- si tu saisies autre chose que des valeurs numériques dans tes champs, que se passe-t-il? Crash?
- pour comparer des float, utilises les opérateur basiques ">", "<", etc. plutôt que Float.compare()