将String转换为int时应用崩溃

时间:2019-03-22 10:47:11

标签: android

除了应用程序崩溃外,没有其他任何事情。 当我不包含转换部分时,该应用程序正在运行。 XMl:

    <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/numberInput"
        android:layout_width="63dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:singleLine="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

MainActivity.java:

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    EditText numberInput = (EditText) findViewById(R.id.numberInput);
    String s = numberInput.getText().toString();
    int n = Integer.parseInt(s);

} }

1 个答案:

答案 0 :(得分:0)

尝试在强制转换之前检查字符串,如果字符串为空,则返回0。

int n = s.isEmpty()?0:Integer.parseInt(s);