1. 统计输入字数
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;private int num = 140;
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);//设置光标在最后
}
}
});
避免一进入一个页面, EditText默认就会自动获取焦点。
解决之道:在EditText的父级控件中找一个,设置成
android:focusable="true"
android:focusableInTouchMode="true"
这样,就把EditText默认的行为截断了!
3. 禁止复制和粘贴
setLongClickable(false);