为了账号安全,请及时绑定邮箱和手机立即绑定

如何防止我的应用在没有输入或输入无效时崩溃

如何防止我的应用在没有输入或输入无效时崩溃

蛊毒传说 2021-09-03 16:26:35
您好,我正在创建一个单位转换器应用程序,试图自学如何制作 android 应用程序,如何让我的应用程序在单击转换按钮时显示消息而不是崩溃,如果输入为空或“”,这里是我的代码。如果 fromEditText 中没有输入,我个人正在考虑禁用该按钮。XML<?xml version="1.0" encoding="utf-8"?><RelativeLayout 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">     <Button         android:id="@+id/button_convert"         android:layout_width="231dp"         android:layout_height="wrap_content"         android:layout_alignParentBottom="true"         android:layout_centerHorizontal="true"         android:layout_marginBottom="88dp"         android:onClick="convert"         android:text="Convert" />     <TextView         android:id="@+id/textView"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true"         android:layout_marginTop="29dp"         android:text="Unit 1"         tools:layout_editor_absoluteX="16dp"         tools:layout_editor_absoluteY="16dp" />    <TextView         android:id="@+id/textView2"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true"         android:layout_marginTop="202dp"         android:text="Unit 2"         tools:layout_editor_absoluteX="16dp"         tools:layout_editor_absoluteY="136dp" />     <Spinner         android:id="@+id/spinner_to"         android:layout_width="368dp"         android:layout_height="wrap_content"         android:layout_alignParentStart="true"         android:layout_alignParentLeft="true"         android:layout_centerVertical="true"         tools:layout_editor_absoluteX="8dp"         tools:layout_editor_absoluteY="42dp"         android:drawSelectorOnTop="true"/>每次单击按钮时出现问题,如果 EditText 中没有任何内容或只有“.”,应用程序就会停止。在它没有数字显然。
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

如果要检查是否输入了有效数字,可以解析数字并捕获NumberFormatException以检测它是否有效。例如:


String str = fromEditText.getText().toString().trim();

boolean valid = true;

double val = 0;


try {

    val = Double.parseDouble(str);

}

catch(NumberFormatException e) {

    valid = false;

}


if( valid ) {

    // use the number

}

else {

    // handle invalid entry

}

除了空白和“.”之外,还有更多不可解析的组合。例如,“........”或用户可能出于某种原因决定输入的任意数量的空格、句点和逗号组合。


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信