2017-10-13 5 views
0

enter image description herelorsque edittext est vide et le bouton est enfoncé application plante androïde

Lorsque EditText est vide et le bouton est enfoncé application android se bloque si une ou plusieurs edittext est vide et en appuyant sur le bouton provoque l'erreur.

Voici le code:

public class Tab4Weight extends Fragment { 
     EditText firstNumber; 
     EditText secondNumber; 
     TextView addResult; 
     Button btnAdd; 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
      View view = inflater.inflate(R.layout.tab4weight, container, false); 

      firstNumber = (EditText)view.findViewById(R.id.txtNumber1); 
      secondNumber = (EditText)view.findViewById(R.id.txtNumber2); 
      addResult = (TextView)view.findViewById(R.id.txtResult); 
      btnAdd = (Button)view.findViewById(R.id.btnAdd); 
      btnAdd.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
      String value1= firstNumber.getText().toString(); 
      String value2= secondNumber.getText().toString(); 
      int a=Integer.parseInt((value1)); 
      int b=Integer.parseInt((value2)); 

      int sum= getCoordinates(a,b); 
      Toast.makeText(getActivity(),"Weight in Kg: " + 
      String.valueOf(sum),Toast.LENGTH_LONG).show(); 

      } 

      private int getCoordinates (int coordA, int coordB){ 
       int results = 0; 
       if (coordA < 7000 && coordB < 30 && coordB > -45) 
       { 
        results = 7400; 
       } 

       else{ 
        if (coordA==8000 && coordB ==30) 
        { 
         results = 7100; 
        } 


     firstNumber.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

       } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 

      } 

      @Override 
      public void afterTextChanged(Editable s) {int jumlah = Integer.parseInt(firstNumber.getText().toString()); 

      if(firstNumber.getText().toString().equals("")||jumlah > 10001 
      && jumlah < 10999) { 
       firstNumber.setText("11000"); 
       return; 
      } 
      else { 
       if (firstNumber.getText().toString().equals("") || jumlah > 
      11001 && jumlah < 11999) { 
        firstNumber.setText("12000"); 
       } 
       else { 
        if (firstNumber.getText().toString().equals("") || 
      jumlah > 12001 && jumlah < 12999) { 
         firstNumber.setText("13000"); 
        } 

lorsque edittext est vide et le bouton est pressé plantages d'applications Android si 1 ou plus edittext est vide

pouvez-vous me aider

+0

S'il vous plaît essayer de produire un [mcve] de votre problème. Voir aussi [Malheureusement, MyApp s'est arrêté. Comment puis-je résoudre ce problème?] (Https://stackoverflow.com/questions/23353173/unheureusement-myapp-has-stopped-how-can-i-solve-this) – Haem

Répondre

1

essayer ce que vous besoin de vérifier d'abord que votre valeur Edittext est vide ou non

utilisez isEmpty(CharSequence str) pour vérifier si votre Edittext est vide ou non

Renvoie true si la chaîne est nulle ou 0 longueur.

btnAdd.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(!TextUtils.isEmpty(firstNumber.getText().toString())&&!TextUtils.isEmpty(secondNumber.getText().toString())){ 
        String value1= firstNumber.getText().toString(); 
        String value2= secondNumber.getText().toString(); 
        int a=Integer.parseInt((value1)); 
        int b=Integer.parseInt((value2)); 

        int sum= getCoordinates(a,b); 
        Toast.makeText(getActivity(),"Weight in Kg: " + 
          String.valueOf(sum),Toast.LENGTH_LONG).show(); 
       }else { 
        Toast.makeText(getActivity(), "value is empty", Toast.LENGTH_SHORT).show(); 
       } 

      } 
     }); 
+0

merci Il y a aussi une question lors de l'effacement du numéro sur l'altitude de pression a été écrasé pouvez-vous me donner votre email envoyer à vous pouvez-vous m'aider –

+0

n'a pas obtenu vous @mohamaddamaj –

+0

ok j'ai envoyé le chèque à votre email maintenant –