gpt4 book ai didi

java - Parse Int 使我的程序崩溃,是的,我将 xml 输入类型设置为数字

转载 作者:行者123 更新时间:2023-12-01 22:07:51 26 4
gpt4 key购买 nike

当我运行我的应用程序时,一切正常,直到我按下一个运行名为calculate()的方法的按钮,并且解析int使程序崩溃。

这是我的问题的简化版本。当我按下“计算”按钮时,它会运行方法calculate()。然而,它崩溃了。没有给出任何错误,它只是在模拟器中崩溃。

主要 Activity 的 JAVA 代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


}

public void calculate(View view) {
EditText length_find = findViewById(R.id.feet);
EditText pounds_find = findViewById(R.id.pounds);
int length = Integer.parseInt(length_find.getText().toString());
int pounds = Integer.parseInt(pounds_find.getText().toString());

int sum = length + pounds;

Toast.makeText(MainActivity.this, sum, LENGTH_LONG).show();

}
}

XML 代码:

<Button
android:id="@+id/calculate"
android:layout_width="158dp"
android:layout_height="70dp"
android:layout_marginStart="113dp"
android:layout_marginEnd="113dp"
android:layout_marginBottom="73dp"
android:onClick="calculate"
android:text="Calculate"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

<EditText
android:id="@+id/pounds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="83dp"
android:layout_marginTop="90dp"
android:layout_marginEnd="86dp"
android:layout_marginBottom="24dp"
android:ems="10"
android:hint="#'s"
android:inputType="number"
app:layout_constraintBottom_toTopOf="@+id/feet"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/feet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="83dp"
android:layout_marginTop="23dp"
android:layout_marginEnd="86dp"
android:ems="10"
android:hint="Feet"
android:inputType="number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/pounds" />

最佳答案

为了验证某些意外异常发生的情况,您可以执行以下操作:

 public void calculate(View view) {
EditText length_find = findViewById(R.id.feet);
EditText pounds_find = findViewById(R.id.pounds);

try {
int length = Integer.parseInt(length_find.getText().toString());
int pounds = Integer.parseInt(pounds_find.getText().toString());

int sum = length + pounds;
Toast.makeText(MainActivity.this, sum, LENGTH_LONG).show();
catch(Exception ex) {
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_SHORT).show();
}

}

关于java - Parse Int 使我的程序崩溃,是的,我将 xml 输入类型设置为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com