【发布时间】:2019-02-11 13:49:17
【问题描述】:
我为用户名的 EditText 和密码的 EditText 制作了相同的 addTextChangedListener。我希望 risist 用户在其长度达到限制字符数时输入更多内容。所以我尝试通过 toast 警告用户,并删除他们输入的新字符。这是代码`
ETcreateusername.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(ETcreateusername.getText().length()>15){
ETcreateusername.dispatchKeyEvent(new KeyEvent(
KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
showToast();
}
}
private void showToast() {
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_username,(ViewGroup)findViewById(R.id.toast_root));
Toast toast= new Toast(getApplicationContext());
toast.setGravity(Gravity.TOP , 0, 800);
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(layout);
toast.show();
}
@Override
public void afterTextChanged(Editable s) {
}
});
对于用户名的EditText,它可以完美地工作。但是每当我在密码的EditText中输入太多字符时,应用程序就会崩溃,仅仅是因为它的inputType是密码。谁能告诉我为什么,我该如何解决这个问题。谢谢。
【问题讨论】:
-
崩溃意味着会有崩溃日志。请张贴。
标签: android