FC на действие кнопки (если ... тост) - PullRequest
2 голосов
/ 13 марта 2011

Когда я нажимаю на кнопку, когда editText пуст , у меня есть FC, вот мой код:

final Button button = (Button) findViewById(R.id.button);

  button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
        float q1=Float.parseFloat(vol.getText().toString());
        float q2=Float.parseFloat(kil.getText().toString());
        String value1 = vol.getText().toString();
        String value2 = kil.getText().toString();
                if (value1 != null && value1.trim().length() > 0 && value2 != null && value2.trim().length() > 0)
                {
                    float x=((q1 / q2)* 100);
                    cons.setText(Float.toString(x));
                }
                else 
                {
                Toast.makeText(carburant.this, "Veuillez saisir le 1er champs", Toast.LENGTH_SHORT).show();
                }
        }
      });

Ответы [ 3 ]

1 голос
/ 13 марта 2011

На самом деле, они будут генерировать исключения.Получите их в блоке try catch.Попробуй и попробуй поймать.Это лучше, потому что вы можете поднять тост в улове.

Android parseFloat

РЕДАКТИРОВАТЬ: Вот некоторый код.

try {
  flt1 = Float.parseFloat(str1);
  flt2 = Float.parseFloat(str2);
  result = flt1 + flt2;
} catch (NumberFormatException e) {
  // Do something to let user know it didnt work.
}
1 голос
/ 13 марта 2011

Причина может быть в том, что вы пытаетесь разобрать нулевое значение.Попробуйте получить значения q1 и q2 внутри условия if

0 голосов
/ 14 марта 2011

Проблема решена, преобразование во float было неудачным, вот рабочий код:

String value1 = vol.getText().toString();
 String value2 = kil.getText().toString();
                     if (value1 != null && value1.trim().length() > 0 && value2 != null && value2.trim().length() > 0)
                     {
                             float q1=Float.parseFloat(vol.getText().toString());
                             float q2=Float.parseFloat(kil.getText().toString());
                             float x=((q1 / q2)* 100);
                             cons.setText(Float.toString(x));

                     }
                     else 
                     {
                     Toast.makeText(carburant.this, "Veuillez vérifier les deux champs", Toast.LENGTH_LONG).show();
                     }

Спасибо за вашу помощь:).

...