EditText для int в Android Studio - PullRequest
       14

EditText для int в Android Studio

1 голос
/ 11 октября 2019

Моя проблема в том, что я не могу конвертировать EditText в int. Я перепробовал все варианты, которые прочитал здесь, мое приложение вылетает при открытии. Заранее спасибо, я прилагаю часть моего кода, где проблема. Моя проблема начинается с первого анализа с 'int kg'. Я понятия не имею, что делать. Декларация есть, но здесь не видна. Заранее спасибо.

private void BMISzamitas(){
 BMISzamolBtn=(Button)findViewById(R.id.BMISzamoloBtn);
 kgEditText = (EditText)(findViewById(R.id.kgEditText));
 cmEditText = (EditText)(findViewById(R.id.cmEditText));
 eredmenyTextView=(TextView)(findViewById(R.id.bmiEredmenyTextView));

int kg = Integer.parseInt(kgEditText.getText().toString());
int cm = Integer.parseInt(cmEditText.toString());
int m = (cm*100);

double BMI = (double)(kg/Math.pow(m, m));
eredmenyTextView.setText(new Double(BMI).toString());



}

Ответы [ 2 ]

1 голос
/ 11 октября 2019

Вам нужно проверить, что EditText не был пустым, и добавить .getText () в строку

int cm = Integer.parseInt(cmEditText.toString());

int cm = Integer.parseInt(cmEditText.getText().toString());
0 голосов
/ 11 октября 2019

Сначала установите inputType="number" на EditText, который пользователь заставляет вводить только номер в текстовом редакторе, чтобы исключить исключение:

    <EditText
        android:id="@+id/kgEditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number" // this line
 />

, затем:

 if (!kgEditText.getText().toString().isEmpty() && 
            !cmEditText.getText().toString().isEmpty()) {
            int kg = Integer.parseInt(kgEditText.getText().toString());
            int cm = Integer.parseInt(cmEditText.getText().toString());

        }
...