mail_xml是这样的:
EditText android:inputType="numberDecimal|numberSigned`
onTextChanged在此和其他edittexts上实现并调用相对方法。
//and one method example:
if (editTextNumber.getText().toString().equals("") ||
editTextNumber.getText().toString().equals("-") ||
editTextNumber.getText().toString().equals(".")) {
//say its bad or reset interface so the user knows;
else {
//do stuff;
}
我应该创建一个类来进行验证并实例化它,然后使用if / else语句返回一个布尔值吗?
这很困难,因为-
在用户输入时有效,.
也是如此。但是.
和-
崩溃了。我觉得上课最好吗?
我不记得java中的一个函数来执行此操作,除非api已更新且我还没有看到它。我已经创建了我需要的类,可以实例化它们调用它们的getter方法没问题。只是坚持基本的验证。
答案 0 :(得分:0)
你可以简单地把演员阵容放在一个块try / catch中...... 这样,如果插入的文本不是数字,则会触发异常...... 例如:
if(editTextNumber.getText()!=null && !editTextNumber.getText().toString().equals("")){
try{
// int value
Integer.parseInt(editTextNumber.getText().toString());
// double value
Double.parseDouble(editTextNumber.getText().toString());
}catch(Exception e){
//prints the exception that you got
//if number format exception then your input is not a number
e.printStackTrace();
}
}
希望它有所帮助...