Toast
当用户尝试插入超过最大限制的文本时如何弹出?
<EditText
android:maxLength="28"
...
/>
我尝试使用TextWatcher
但无法正常工作:
public class MyActivity extends Activity implements TextWatcher
{
// ...
@Override
public void afterTextChanged(Editable arg0){}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3){}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{
if(etUsername.isFocused() && etUsername.getText().length() == 28)
Toast.makeText(MyActivity.this, "The username must be at most 28 characters!" , Toast.LENGTH_SHORT).show();
else if(etPassword.isFocused() && etPassword.getText().length() == 10)
Toast.makeText(MyActivity.this, "The password must be at most 10 characters!" , Toast.LENGTH_SHORT).show();
}
}
编辑:
我也尝试将代码放入其中afterTextChanged
,beforeTextChanged
但它并没有解决问题。
编辑2:
我想要的是,只有当 28 个字符并且用户尝试添加第 29 个字符Toast
时才会弹出。EditText
仅当中有 27 个字符并且用户插入第 28 个字符Toast
时,我上面的代码中才会弹出。TextEdit