[英]EditText validation in android?
我有一個類似下圖的場景:
如果用戶在“用戶名”或“電子郵件”字段中未寫任何內容,它將顯示問號。 另一方面,它將顯示十字標記。 如何實現呢???
etUsername.addTextChangedListener(mTextWatcher);
etUsername.setOnTouchListener(new MyOnTouchListener(etUsername));
TextWatcher :通過用戶輸入顯示或隱藏清除按鈕
private TextWatcher mTextWatcher = new TextWatcher() {
boolean isnull = true;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(TextUtils.isEmpty(s)){
if(!isnull){
etUsername.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
isnull = true;
}
}else{
if(isnull){
etUsername.setCompoundDrawablesWithIntrinsicBounds(null, null, mClearIcon, null);
isnull = false;
}
}
}
MyOnTouchListener :清除按鈕單擊偵聽器
class MyOnTouchListener implements OnTouchListener{
EditText mEditText;
public MyOnTouchListener(EditText editText){
this.mEditText = editText;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_UP:
int curX = (int)event.getX();
if(curX > v.getWidth() - 60
&& !TextUtils.isEmpty(mEditText.getText())){
// the clear button was clicked,do something you need
// for example, show the hint msg,etc
return true;
}
break;
}
return false;
}
您可以使用上面的代碼進行自定義視圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.