我有一个只有150个文件的搜索应用。因此,如果有人搜索151,则会说“无法找到文件151”。
我有代码:
EditText edit = (EditText) findViewById(R.id.editText1);
if (edit.getText().toString().equals("151")) {
edit.setError("Invalid File Name");
} else {
// Do nothing;
}
但我有两个问题:
.equals("151")
设置为:.equals("151" >)
(151及以上)?答案 0 :(得分:1)
您需要将EditText
的值解析为整数,以便您可以使用运算符对其进行比较。像这样:
if (Integer.valueOf(edit.getText().toString()) > 150 ) {do stuff;})
您可能希望首先解析它(在try catch块内),然后根据值是否在范围内来执行if / else。为了向用户显示快速验证消息,您可能希望使用Toast通知。
答案 1 :(得分:1)
您可以从字符串中创建一个int。像这样:
int aInt = Integer.parseInt(edit.getText().toString());
if(aInt > 150)
dostuff();
无所事事,只需添加“;”。
if(foo)
dostuff();
else
;
答案 2 :(得分:0)
你可以这样做
int num = Integer.parse(edit.getText().toString());
if(num >= 151) {
} else {
}
答案 3 :(得分:0)
您需要将其解析为整数,并且还需要处理无法将字符串解析为整数的情况。如果值来自用户输入,您必须准备捕获NumberFormatException!
try{
int i = Integer.parseInt(edit.getText().toString());
if(i>150){
// Do stuff if i > 150
}
else{
// Stuff if i < 151
}
}catch(NumberFormatException e){
// Deal with the fact that the file name is not a valid integer number (e.g. "ABC")
}