Android Studio 中的 EditText 到 int

EditText to int in Android Studio

我的问题是我无法将 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());



}

您需要验证 EditText 是否为空并在行中添加 .getText()

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

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

首先将 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());

        }