2011-07-02 2 views
0

です。150のファイルしかない検索アプリがあります。だから誰かが151を検索すると、"ファイル151が見つかりません"と表示されます。EditTextは

私はコードを持っている:

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

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

をしかし、私は2つの質問があります:.equals("151" >)(151以上):私のようなものに.equals("151")を設定するにはどうすればよい

  1. を?
  2. 「何もしない」のコードは何ですか?

答えて

1
  1. それを作ることができます。このように:

    int aInt = Integer.parseInt(edit.getText().toString()); 
    
    if(aInt > 150) 
    dostuff(); 
    
  2. 何もしない場合は、「;」を追加してください。

    if(foo) 
    dostuff(); 
    else 
    ; 
    
+0

ありがとう、これは、本当にありがとう、働いています。 – Gromdroid

+0

あなたは大歓迎です。しかしTrev16vが言及したように、あなたは数字形式の言い伝えをする準備ができていなければなりません。つまり、ユーザーが "foo"を入力し、その文字列をintに解析しようとすると、困ったことになります。 – Emiam

1

EditTextの値をIntegerに解析する必要があります。演算子を使用して比較することができます。これと同じように:

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

おそらく、その後、値が範囲内であるか否かに応じて、場合/他行い、最初(のtry catchブロック内)それを解析します。ユーザーに迅速な確認メッセージを表示するには、おそらくToast通知を使用します。

+0

これは問題ありません。それは言います:演算子>は、引数の型のために定義されていませんString、int – Gromdroid

+0

whoops、かっこが抜けていました。 – dmon

0

あなたは、文字列からint型を作成し、そのよう

int num = Integer.parse(edit.getText().toString()); 
if(num >= 151) { 

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