一般我们使用android:maxLength="6"
这样我们就可以限制字符数量了,但是有一个问题,这样一般对用户不友好,用户超过了6个字符,还在输入,但是输入框没有显示,这样用户可能会迷茫。
我的解决方案是,通过使用光标来解决这个问题,动态获取输入字符数,然后弹出Toast对话框
group_name是我的EditText的实例对象,通过添加textChangedListener这个监视器来实现
group_name.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
// Log.d("start", ""+start);
// Log.d("count", ""+count);
// Log.d("after", ""+after);
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
Log.d("length", s+"#"+s.length());
if(s.length()==6){
Toast.makeText(GroupsListActivity.this,"最多只能输入6个字符", Toast.LENGTH_SHORT).show();
}
// Log.d("before", ""+before);
// Log.d("count", ""+count);
}
});