2015-10-01 32 views
0

中的edittext內容我有一些edittext用於獲取一些整數。 現在我想控制他們的內容。例如如果書面數字介於1和22之間,則做一些事情。控制android

如何從editText獲取文本並將它們轉換爲int來比較它們?

+2

什麼時候該發生?點擊按鈕後? – Prexx

+0

是的!確切地說,我忘記寫它 –

回答

0

使用TextWatcher

public void onTextChanged(CharSequence s, int start, int before, int count) { 
      if(check){ 
       //do stuff 
      } 
} 
0
editText.addTextChangedListener(myTextWatcher); 

,並在您myTextWatcher

TextWatcher myTextWatcher= new TextWatcher() { 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      if(Integer.parseInt(s)>1 && Integer.parseInt(s)<=22) 
      { 
      // perform you action 
      } 
     } 

     public void afterTextChanged(Editable s) { 

    }; 
1

試試這個您的按鈕onClickListener內:

try { 
    int number = Integer.parseInt(editText.getText().toString()); 
    if(number >= 1 && number < 22) { 
     // do smth 
    } 
} catch (NumberFormatException e){ 
    Log.d(LOG_TAG, "Could not convert text into integer"); 
} 
+0

謝謝,但爲什麼你寫數字!= null,數字是整數不布爾? –

+0

檢查空指針總是很好的。 :)但在這種情況下,你是對的。除數字外的任何字符串都是無效的,並會拋出NumberFormatException。我會編輯我的答案。 – Prexx

1

如果您的按鈕是btn並editText爲edt然後做

btn.setOnClickListener(new Button.OnClickListener() { 
public void onClick(View v) { 
     int a; 
     a=Integer.parseInt(edt.getText().toString()); 

     if(a>1 && a<22) 
     { 
      //do something here 
     } 
     } 
     }); 
+0

謝謝,這是什麼Integer?你的意思是「a」? –

+0

是的。 'a'是整數值@MinaDahesh –