Android:在Number / Phone上设置inputType时,检查EditText是否为空

时间:2013-12-03 11:10:47

标签: android android-edittext gettext

我在android中有一个EditText供用户输入他们的AGE。它设置为inputType = phone。 我想知道是否有办法检查此EditText是否为空

我已经看过这个问题了:Check if EditText is empty.但它没有解决inputType = phone的问题。

这些,我已经检查过但不起作用:

(EditText) findViewByID(R.id.age)).getText().toString() == null
(EditText) findViewByID(R.id.age)).getText().toString() == ""
(EditText) findViewByID(R.id.age)).getText().toString().matches("")
(EditText) findViewByID(R.id.age)).getText().toString().equals("")
(EditText) findViewByID(R.id.age)).getText().toString().equals(null)
(EditText) findViewByID(R.id.age)).getText().toString().trim().length() == 0
(EditText) findViewByID(R.id.age)).getText().toString().trim().equals("")
and isEmpty do not check for blank space.

感谢您的帮助。

9 个答案:

答案 0 :(得分:36)

您可以使用TextUtils类检查,如

TextUtils.isEmpty(ed_text);

或者您可以这样检查:

EditText ed = (EditText) findViewById(R.id.age);

String ed_text = ed.getText().toString().trim();

if(ed_text.isEmpty() || ed_text.length() == 0 || ed_text.equals("") || ed_text == null)
{
    //EditText is empty
}
else
{
    //EditText is not empty
}

答案 1 :(得分:7)

第一种方法

使用 TextUtil库

if(TextUtils.isEmpty(editText.getText().toString()) 
{
    Toast.makeText(this, "plz enter your name ", Toast.LENGTH_SHORT).show();
    return;
}

第二种方法

private boolean isEmpty(EditText etText) 
{
        return etText.getText().toString().trim().length() == 0;
}

答案 2 :(得分:0)

我将此方法用于同样的工作:

public boolean checkIsNull(EditText... editTexts){
for (EditText editText: editTexts){
  if(editText.getText().length() == 0){
    return true;
  }
}
return false;
}

答案 3 :(得分:0)

只需执行以下操作

String s = (EditText) findViewByID(R.id.age)).getText().toString();
TextUtils.isEmpty(s);

答案 4 :(得分:0)

EditText textAge;
textAge =(EditText)findViewByID(R.id.age);
 如果(TextUtils.isEmpty(textAge))
        {
            Toast.makeText(this,“年龄编辑文本为空”,Toast.LENGTH_SHORT).show();
            //或在此处输入您想要的代码
        }

答案 5 :(得分:0)

我发现如果用户输入空格,这些测试将失败,因此我测试了缺少空值的提示

EditText username = (EditText) findViewById(R.id.editTextUserName);

EditText password = (EditText) findViewById(R.id.editTextPassword);

// these hint strings reflect the hints attached to the resources

if (username.getHint().equals("Enter your username") || password.getHint().equals("Enter Your Password")){
      // enter your code here 

} else {
      // alls well
}

答案 6 :(得分:0)

editText.length()通常对我有用 试试这个

if((EditText) findViewByID(R.id.age)).length()==0){
   //do whatever when the field is null`
}

答案 7 :(得分:0)

添加Kotlin getter函数

val EditText.empty get() = text.isEmpty() // it == ""
// and/or
val EditText.blank get() = text.isBlank() // it.trim() == ""

有了这些,您可以只使用if (edittext.empty) ...if (edittext.blank) ...

如果您不想扩展此功能,原始的Kotlin是:

edittext.text.isBlank()
// or
edittext.text.isEmpty()

答案 8 :(得分:-1)

试试这个。这是我唯一的解决方案

串电话;

尝试{ phone =(EditText)findViewByID(R.id.age))。getText()。toString();

} catch(NumberFormatException e){

Toast.makeText(MainActivity.this,“plz enterphone Number”,Toast.LENGTH_SHORT).show();     返回;

}