您好,我正在創建一個單位轉換器應用程序,試圖自學如何制作 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
}
除了空白和“.”之外,還有更多不可解析的組合。例如,“........”或用戶可能出于某種原因決定輸入的任意數量的空格、句點和逗號組合。
添加回答
舉報
0/150
提交
取消