簡體   English   中英

Android中的EditText驗證?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM