Android 如何在用户暂停/离开编辑文本区域时检查验证

Android 如何在用户暂停/离开编辑文本区域时检查验证,android,Android,这里我描述了在用户离开edittext焦点时检查验证的代码 TextWatcher tw = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, i

这里我描述了在用户离开edittext焦点时检查验证的代码

    TextWatcher tw = new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) { }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
           // Check Condition

            } else {
//检查条件

            }
        }

        @Override
        public void afterTextChanged(Editable s) { }
    };

    // text watcher registration to the 2 EditText
    etEmail.addTextChangedListener(tw);
    etPassword.addTextChangedListener(tw);
    etUserName.addTextChangedListener(tw);

您可以在活动的onCreate方法中的EditText上注册OnFocusChangeListener:

final EditText et = (EditText)findViewById(R.id.my_edit_text);
  et.setOnFocusChangeListener(new View.OnFocusChangeListener()
  {
  @Override
  public void onFocusChange(View v, boolean hasFocus)
  {
    if (!hasFocus)
        // TODO: the editText has just been left
  }
});
这里onFocusChange的v参数是您的EditText控件。

这里是一个示例

edittext.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus){
        Toast.makeText(getApplicationContext(), "Got the focus", Toast.LENGTH_LONG).show();
    }else {
        Toast.makeText(getApplicationContext(), "Lost the focus", Toast.LENGTH_LONG).show();
    }
   }
});

您提供的代码不用于从edittext保留焦点。如果要检查edittext的焦点,请使用
yourEditText.setOnFocusChangeListener
如何管理它。。。你能给我一个足够的演示项目吗。。。