码迷,mamicode.com
首页 > 其他好文 > 详细

EditTextUtil 监听输入字数

时间:2016-02-04 12:29:03      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

package com.toge.ta.utils;

import android.text.Editable;
import android.text.Selection;
import android.text.TextWatcher;
import android.widget.EditText;

/**
* Created by Administrator on 2015/10/21.
*/
public class EditTextUtil {
/*
  * 监听输入内容是否超出最大长度,并设置光标位置
  * */
public static class MaxLengthWatcher implements TextWatcher {

private int maxLen = 0;
private EditText editText = null;

public MaxLengthWatcher(int maxLen, EditText editText) {
this.maxLen = maxLen;
this.editText = editText;
}

public void afterTextChanged(Editable arg0) {


// Selection.setSelection(arg0, arg0.toString().length());
// TODO Auto-generated method stub
}

public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub

}

public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
Editable editable = editText.getText();
String s = editable + "";
int len = editable.length();

len = StringUtil.stringLength(s);

if (len > maxLen) {
int selEndIndex = Selection.getSelectionEnd(editable);
String str = editable.toString();
//截取新字符串
String newStr = StringUtil.cutString(str, maxLen);
editText.setText(newStr);
editable = editText.getText();
//新字符串的长度
int newLen = editable.length();
//旧光标位置超过字符串长度
if (selEndIndex > newLen) {
selEndIndex = editable.length();
}
//设置新光标所在的位置
Selection.setSelection(editable, selEndIndex);
}
}
}
}

EditTextUtil 监听输入字数

标签:

原文地址:http://www.cnblogs.com/aikongmeng/p/5181274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!