Re: [問題] editText的小問題

看板AndroidDev作者 (CHA)時間12年前 (2012/05/23 21:13), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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)

05/23 21:46, , 1F
xml有設定可以填default嗎?
05/23 21:46, 1F

05/23 22:21, , 2F
android:text="@string/字串名"
05/23 22:21, 2F

05/23 22:22, , 3F
android:text="字串內容" 不過官方建議不要違反MVC架構~
05/23 22:22, 3F

05/23 22:23, , 4F
要好控制的話在程式碼中需要處用EditText.setText(字串)
05/23 22:23, 4F

05/24 13:10, , 5F
太感謝了我先來試試看
05/24 13:10, 5F

05/24 14:52, , 6F
成功了謝謝
05/24 14:52, 6F
文章代碼(AID): #1FlE9Zi0 (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1FlE9Zi0 (AndroidDev)