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

您好,我正在创建一个单位转换器应用程序,试图自学如何制作 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 中没有任何内容或只有“.”,应用程序就会停止。在它没有数字显然。



蛊毒传说
浏览 104回答 1
1回答

ITMISS

如果要检查是否输入了有效数字,可以解析数字并捕获NumberFormatException以检测它是否有效。例如:String str = fromEditText.getText().toString().trim();boolean valid = true;double val = 0;try {&nbsp; &nbsp; val = Double.parseDouble(str);}catch(NumberFormatException e) {&nbsp; &nbsp; valid = false;}if( valid ) {&nbsp; &nbsp; // use the number}else {&nbsp; &nbsp; // handle invalid entry}除了空白和“.”之外,还有更多不可解析的组合。例如,“........”或用户可能出于某种原因决定输入的任意数量的空格、句点和逗号组合。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java