欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android EditTextView 實(shí)現(xiàn)帶空格分隔的輸入(電話號(hào)碼,銀行卡)

 更新時(shí)間:2018年02月01日 11:20:13   作者:Ryhume  
這篇文章主要介紹了Android EditTextView 實(shí)現(xiàn)帶空格分隔的輸入(電話號(hào)碼,銀行卡)的相關(guān)資料,需要的朋友可以參考下

電話號(hào)碼輸入框需求:

  • 三位,七位后有空格
  • 刪除倒數(shù)第四,第八位會(huì)將空格也刪除

使用TextWatcher

When an object of a type is attached to an Editable, its methods will be called when the text is changed.就是說(shuō),只要是一個(gè)可編輯的文本設(shè)置了TextWatcher,當(dāng)文本發(fā)生變化時(shí),TextWatcher里的方法將會(huì)被調(diào)用.

其實(shí)不難,看了網(wǎng)上搜索到的例子,思路繞了點(diǎn),這邊做一份自己的記錄

import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
/**
 * @desc
 * @autor Xemenes
 * @time 2017/5/12 10:18
 */
public class PhoneNumberTextWatcher implements TextWatcher {
  EditText editText;
  int lastContentLength = 0;
  boolean isDelete = false;
  public PhoneNumberTextWatcher(EditText editText) {
    this.editText = editText;
  }
  @Override
  public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  }
  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
    StringBuffer sb = new StringBuffer(s);
    //是否為輸入狀態(tài)
    isDelete = s.length() > lastContentLength ? false : true;
    //輸入是第4,第9位,這時(shí)需要插入空格
    if(!isDelete&& (s.length() == 4||s.length() == 9)){
      if(s.length() == 4) {
        sb.insert(3, " ");
      }else {
        sb.insert(8, " ");
      }
      setContent(sb);
    }
    //刪除的位置到4,9時(shí),剔除空格
    if (isDelete && (s.length() == 4 || s.length() == 9)) {
      sb.deleteCharAt(sb.length() - 1);
      setContent(sb);
    }
    lastContentLength = sb.length();
  }
  @Override
  public void afterTextChanged(Editable s) {
  }
  /**
   * 添加或刪除空格EditText的設(shè)置
   *
   * @param sb
   */
  private void setContent(StringBuffer sb) {
    editText.setText(sb.toString());
    //移動(dòng)光標(biāo)到最后面
    editText.setSelection(sb.length());
  }
}

總結(jié)

以上所述是小編給大家介紹的Android EditTextView 實(shí)現(xiàn)帶空格分隔的輸入(電話號(hào)碼,銀行卡),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論