2017-08-22 3 views
-2

Je suis nouveau dans la programmation Android et encore en apprentissage. Pour la pratique, j'ai commencé à créer une application très simple et basique qui calcule l'âge sur un clic de bouton qui prend l'année de naissance comme entrée. Je parviens à le faire fonctionner et je veux faire une validation dessus. comme j'ai fait valider que la valeur que nous fournissons ne devrait pas être plus que l'année en cours et je l'ai fait avec succès.valider editText sur l'événement buttonclick

Maintenant mon problème est que je veux aussi mettre la validation que si aucune entrée n'a été faite et le bouton est pressé alors il devrait alerter l'utilisateur par Toast. Jusqu'ici j'ai essayé de faire mais chaque fois que j'appuie sur le bouton sans rien dans editText l'application plante juste.

Voici mon code.

 calcAge.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 



      if(dob > year){ 

       Toast.makeText(getApplicationContext(), "Provide valid Input", Toast.LENGTH_SHORT).show(); 
      } 

      else if(String.valueOf(dob) == null){ 

       Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show(); 
      } 

      else{ 


       dob = Integer.parseInt(String.valueOf(inAge.getText())); 
       currentYear.setText("Your Curret Year is :- " + year); 
       yourYear.setText("Your Birth Year is :- "+ dob); 

      int a = year-dob; 

      finalAns.setText("Your Age is :- " + a); 

      inAge.setText(""); 

      } 



     } 
    }); 

Le code ci-dessus est un clic sur le bouton. S'il vous plaît fournir avec une solution

J'ai également essayé de mettre editText1.getText(). ToString.trim(). Lenght() == 0 dans si la condition, mais cela n'a pas fonctionné et l'application se bloque juste.

Répondre

1

essayer ce sur le bouton clic listner

calcAge.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if (yourEdittext.getText().toString().equals("")) { 
        yourEdittext.setError(getString("filed can't be empty")); 
        yourEdittext.requestFocus(); 
        Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show(); 
       } 


      } 
     }); 
+0

Nous vous remercions de votre réponse. –

+0

@MustakimKhalifa De rien. N'oubliez pas d'augmenter le nombre de réponses et de marquer l'une des réponses comme acceptées. Il est donc clair pour les autres que votre question n'a pas besoin de plus de réponses. –

0

Utilisez ceci:

String dob = yourEditText.getText().toString(); 

puis vérifiez comme ceci:

if (TextUtils.isEmpty(dob)) { 
      //show toast 
     } 
0

Vous devez faire la validation comme ceci:

doneDetails.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         if(validationDetails()){ 
         //If get all data do Action 
         }else{ 
          // Toast.makeText(getApplicationContext(),"Field Missing",Toast.LENGTH_SHORT).show(); 
         } 
        } 

Ceci est la partie validation de la méthode:

private boolean validationDetails() { 

        if (userNameET.getText().toString().isEmpty()) { 
         userNameET.setError("Enter Patient Name"); 
         return false; 
        } 
        if (ageET.getText().toString().isEmpty()) { 
         ageET.setError("Enter Age "); 
         return false; 
        } 
        if (gender.getSelectedItem().toString().isEmpty()) { 
         Toast.makeText(getApplicationContext(),"Select Gender",Toast.LENGTH_SHORT).show(); 
         return false; 
        } 
        return true; 
       } 
0

essayer sur votre bouton clic:

if (yourEditText.getText().toString().equal("")) { 
      Toast.makeText(getApplicationContext(), "Please Give Some Input", Toast.LENGTH_SHORT).show(); 
    } 
0

Le bouton clic, vous vérifiez d'abord si DOB est supérieure à un an. ce qui n'est pas correct. Tout d'abord, vérifiez si dob est nul ou vide. puis vérifier si supérieur à l'année

If (dob == null && dob.isEmplty){ 
    Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show(); 
} else if(dob > year){ 
    Toast.makeText(getApplicationContext(), "Provide valid Input", Toast.LENGTH_SHORT).show(); 
} else { 
//do what ever you want 
}