看板 AndroidDev 關於我們 聯絡資訊
※ 引述《w999 (天天喝珍奶)》之銘言: : 我想問一下 我用了很多的EditText來做計算 : 但是只要有一個沒填上數字程式就會出現錯誤然後關閉 : 不曉得怎麼樣才能讓他設定成沒輸入數字等於0 : 或是有辦法提醒說請輸入數子然後不要讓程式直接錯誤關閉嗎.. 假設輸入是 editText String a = editText.getText().toString(); double num; //放這個editText的結果用,等等要運算 if( a.equals("") ){ //editText沒有輸入值 num = 0; //讓其預設是0 } else { num = Double.parseDouble(a); //轉成要的值 } 還可以判斷一下是不是數字 不過這邊就要用try/catch 以下是加法的範例: 參數說明: EditText et1, et2; //用來讓使用者輸入變數1及變數2 TextView tv1; //顯示結果用 程式碼: try { String s1 = et1.getText().toString(); //取得et1內的字串 double num1; //用來放程式碼內運算用的第一個變數 if( s1.equals("") ) { //如果是空字串 num1 = 0; //讓num1是預設值(也就是0) } else { //不是空字串 num1 = Double.parseDouble(s1); //轉成double放入num1 } String s2 = et2.getText().toString(); //取得et2內的字串 double num2; //同上 if( s2.equals("") ) { num2 = 0; } else { num2 = Double.parseDouble(s2); } double result = num1 + num2; //加起來 tv1.setText(result + ""); //顯示結果 } catch( NumberFormatException nfe ) { //萬一輸入值轉成double時失敗 tv1.setText("不可輸入數字以外的字"); //顯示結果 } 我也不知道這樣寫好不好 囧> 不過之前是這樣做這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.149.39 ※ 編輯: cha122977 來自: 123.194.149.39 (05/23 21:13) ※ 編輯: cha122977 來自: 123.194.149.39 (05/23 21:20)
tomap41017:xml有設定可以填default嗎? 05/23 21:46
cha122977:android:text="@string/字串名" 05/23 22:21
cha122977:android:text="字串內容" 不過官方建議不要違反MVC架構~ 05/23 22:22
cha122977:要好控制的話在程式碼中需要處用EditText.setText(字串) 05/23 22:23
w999:太感謝了我先來試試看 05/24 13:10
w999:成功了謝謝 05/24 14:52