Android中TextView输入字数统计和限制 & [转]一篇
对安卓控件的不熟悉真的是很浪费时间,之前还弄个函数来实现,花不少时间,后来发觉,xml里面设置一个android:maxLength="8"就够了。
===================
这里转一篇函数实现的,Android中TextView输入字数统计和限制: (转自:http://lishuaishuai.iteye.com/blog/1128230)
在Android开发应用的时候,文本编辑框中最多输入140个字,经常会显示还剩多少字以限制用户输入的字数,
EditText content;//定义一个文本输入框
TextView hasnum;// 用来显示剩余字数
int num = 140;//限制的最大字数
content = (EditText) findViewById(R.id.et_content);
hasnumTV = (TextView) findViewById(R.id.tv_num);
hasnumTV.setText(num+"");
下面为EditText文本框添加监听
content.addTextChangedListener(new TextWatcher() {
private CharSequence temp;
private int selectionStart;
private int selectionEnd;
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
temp = s;
}
public void afterTextChanged(Editable s) {
int number = num - s.length();
hasnumTV.setText("" + number);
selectionStart = content.getSelectionStart();
selectionEnd = content.getSelectionEnd();
if (temp.length() > num) {
s.delete(selectionStart - 1, selectionEnd);
int tempSelection = selectionEnd;
content.setText(s);
content.setSelection(tempSelection);//设置光标在最后
}
}
});