EditText等于

时间:2011-07-02 13:39:48

标签: java equals

我有一个只有150个文件的搜索应用。因此,如果有人搜索151,则会说“无法找到文件151”

我有代码:

EditText edit = (EditText) findViewById(R.id.editText1);

if (edit.getText().toString().equals("151")) {
    edit.setError("Invalid File Name");
} else {
    // Do nothing;
}

但我有两个问题:

  1. 如何将.equals("151")设置为:.equals("151" >)(151及以上)?
  2. 代码是什么:“什么都不做”?

4 个答案:

答案 0 :(得分:1)

您需要将EditText的值解析为整数,以便您可以使用运算符对其进行比较。像这样:

    if (Integer.valueOf(edit.getText().toString()) > 150 ) {do stuff;})

您可能希望首先解析它(在try catch块内),然后根据值是否在范围内来执行if / else。为了向用户显示快速验证消息,您可能希望使用Toast通知。

答案 1 :(得分:1)

  1. 您可以从字符串中创建一个int。像这样:

    int aInt = Integer.parseInt(edit.getText().toString());
    
    if(aInt > 150)
    dostuff();
    
  2. 无所事事,只需添加“;”。

    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")
}