作者cha122977 (CHA)
看板AndroidDev
标题Re: [问题] editText的小问题
时间Wed May 23 21:13:04 2012
※ 引述《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)
1F:推 tomap41017:xml有设定可以填default吗? 05/23 21:46
2F:→ cha122977:android:text="@string/字串名" 05/23 22:21
3F:→ cha122977:android:text="字串内容" 不过官方建议不要违反MVC架构~ 05/23 22:22
4F:→ cha122977:要好控制的话在程式码中需要处用EditText.setText(字串) 05/23 22:23
5F:推 w999:太感谢了我先来试试看 05/24 13:10
6F:推 w999:成功了谢谢 05/24 14:52