我在android中有5个EditTexts。我想知道我是否可以检查所有5个EditTexts是否为空。有什么办法可以做到吗?


当前回答

如果editText为空,试试另一种简单的方法:

String star = editText.getText().toString();

if (star.equalsIgnoreCase("")) {
  Toast.makeText(getApplicationContext(), "Please Set start no", Toast.LENGTH_LONG).show();
}

其他回答

其他答案是正确的,但要用一种简短的方式

if(editText.getText().toString().isEmpty()) {
     // editText is empty
} else {
     // editText is not empty
}

对于验证EditText使用edittext# setError方法来显示错误,对于检查空值或空值使用内置的android类TextUtils.isEmpty(strVar),如果strVar为空或零长度返回true

EditText etUserName = (EditText) findViewById(R.id.txtUsername);
String strUserName = etUserName.getText().toString();

 if(TextUtils.isEmpty(strUserName)) {
    etUserName.setError("Your message");
    return;
 }

EditText txtUserID = (EditText) findViewById(R.id.txtUserID);

String UserID = txtUserID.getText().toString();

if (UserID.equals("")) 

{
    Log.d("value","null");
}

您将在LogCat....中看到该消息

你可以使用setOnFocusChangeListener,当焦点改变时,它会检查

        txt_membername.setOnFocusChangeListener(new OnFocusChangeListener() {

        @Override
        public void onFocusChange(View arg0, boolean arg1) {
            if (arg1) {
                //do something
            } else {
                if (txt_membername.getText().toString().length() == 0) {
                    txt_membername
                            .setError("Member name is not empty, Plz!");
                }
            }
        }
    });
private boolean isEmpty(EditText etText) {
    if (etText.getText().toString().trim().length() > 0) 
        return false;

    return true;
}

或者和奥德修斯一样

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

如果函数返回false表示编辑文本不为空,返回true表示编辑文本为空…