99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Android 監(jiān)聽EditText的內容變化

2023-03-31 13:44 更新

本節(jié)引言:

在前面我們已經學過EditText控件了,本節(jié)來說下如何監(jiān)聽輸入框的內容變化! 這個再實際開發(fā)中非常實用,另外,附帶著說下如何實現EditText的密碼可見 與不可見!好了,開始本節(jié)內容!


1.監(jiān)聽EditText的內容變化

由題可知,是基于監(jiān)聽的事件處理機制,好像前面的點擊事件是OnClickListener,文本內容 變化的監(jiān)聽器則是:TextWatcher,我們可以調用EditText.addTextChangedListener(mTextWatcher); 為EditText設置內容變化監(jiān)聽!

簡單說下TextWatcher,實現該類需實現三個方法:

public void beforeTextChanged(CharSequence s, int start,int count, int after);   
public void onTextChanged(CharSequence s, int start, int before, int count);
public void afterTextChanged(Editable s);

依次會在下述情況中觸發(fā):

  • 1.內容變化前
  • 2.內容變化中
  • 3.內容變化后

我們可以根據實際的需求重寫相關方法,一般重寫得較多的是第三個方法!

監(jiān)聽EditText內容變化的場合有很多: 限制字數輸入,限制輸入內容等等~

這里給大家實現一個簡單的自定義EditText,輸入內容后,有面會顯示一個叉叉的圓圈,用戶點擊后 可以清空文本框~,當然你也可以不自定義,直接為EditText添加TextWatcher然后設置下刪除按鈕~

實現效果圖:

77103245

MainActivity.java

package com.jay.demo.edittextdemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    private EditText edit_pawd;
    private Button btnChange;
    private boolean flag = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit_pawd = (EditText) findViewById(R.id.edit_pawd);
        btnChange = (Button) findViewById(R.id.btnChange);
        edit_pawd.setHorizontallyScrolling(true);    //設置EditText不換行
        btnChange.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(flag == true){
                    edit_pawd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
                    flag = false;
                    btnChange.setText("密碼不可見");
                }else{
                    edit_pawd.setTransformationMethod(PasswordTransformationMethod.getInstance());
                    flag = true;
                    btnChange.setText("密碼可見");
                }
            }
        });
    }
}

editborder.xml

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android" >  

    <!-- 設置透明背景色 -->  
    <solid android:color="#FFFFFF" />  

    <!-- 設置一個白色邊框 -->  
    <stroke  
        android:width="1px"  
        android:color="#FFFFFF" />  
    <!-- 設置一下邊距,讓空間大一點 -->  
    <padding  
        android:bottom="5dp"  
        android:left="5dp"  
        android:right="5dp"  
        android:top="5dp" />  

</shape> 


本節(jié)小結:

本節(jié)就到這里,謝謝~


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號