2014-04-23 84 views
0

我有一個問題,試圖檢查一個EditText是否爲空。我發現了很多解決方案,但他們都反對一個字符串變量。 我想檢查一個0到10之間的Integer值是否爲空。Android應用程序,檢查與INTEGER EditText是否爲空

這裏是我的代碼:

int value = Integer.parseInt(instances.getText().toString());; 
if (value > 10) 
    Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
else if (value < 0) 
    Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
else if (value >= 0 && value <= 10) { 
    schimba(v); 
} 

如果我輸入一個數> 10,我得到了敬酒,相同的,如果我進入一個負number.The功能工作的高度時,我輸入0到10之間的數字,但如果我讓空白我得到一個錯誤,我需要創建條件,但我找不到一些整數。

任何幫助將是偉大的,先謝謝你。

+0

要檢查的EditText爲空或不???? – Lal

+0

(string)value ==「」; ? – Watsche

+0

我想檢查他是否空。 – MarianP

回答

3

如何做:

if (instances.getText().toString().lenght() > 0) 
{ 
int value = Integer.parseInt(instances.getText().toString());; 
     if(value > 10) 
      Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
     else 
      if(value<0) 
       Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
      else 
       if(value >= 0 && value <=10) 
       { 
        schimba(v); 
       } 
} 
else 
{ 
    // HANDLE EMPTY VALUE HERE 
} 
0

您可以使用matches()方法來檢查你的EditText是空的或不是。

String stringValue = usernameEditText.getText().toString(); 
if (!stringValue.matches("")) { 

    int value = Integer.parseInt(stringValue); 
    if(value > 10) 
     Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
    else if(value<0) 
     Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
    else if(value >= 0 && value <=10) { 
     schimba(v); 
    } 
} 
0
String _data = instances.getText().toString().lenght()  
    if (_data > 0){ 
    int value = Integer.parseInt(_data);; 
     if(value > 10) 
      Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
     else if(value<0) 
      Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
     else if(value >= 0 && value <=10) 
      { 
       schimba(v); 
      } 
}else{ 
    Toast.makeText(getApplicationContext(), "msg you want to display!", Toast.LENGTH_SHORT).show(); 
    } 
0

簡化示例代碼

int value = instances.getText().toString()!=null && !instances.getText().toString().equals("") ? Integer.parseInt(instances.getText().toString()) : -1; 
if (value < 0 || value > 10){ 
    Toast.makeText(getApplicationContext(), "Enter a value between 0 and 10!", Toast.LENGTH_SHORT).show(); 
}else{ 
    schimba(v); 
} 
相關問題