Android 超过EditText限制时向用户发出警报

Android 超过EditText限制时向用户发出警报,android,android-edittext,android-alertdialog,Android,Android Edittext,Android Alertdialog,我想将EditText字段限制为150个字符,这很容易做到。但是,当用户试图超过该限制时,我还需要通过键入(即第151个字符)或粘贴超过150个字符来提醒用户 最好的方法是什么?通过EditText的addTextChangedListener()方法添加一个。只需针对您的用例实现适当的方法。是否显示警报对话框 EditText text = (EditText) findViewById(R.id.text); text.addTextChangedListener(new TextWatch

我想将EditText字段限制为150个字符,这很容易做到。但是,当用户试图超过该限制时,我还需要通过键入(即第151个字符)或粘贴超过150个字符来提醒用户

最好的方法是什么?

通过EditText的
addTextChangedListener()
方法添加一个。只需针对您的用例实现适当的方法。是否显示警报对话框

EditText text = (EditText) findViewById(R.id.text);
text.addTextChangedListener(new TextWatcher()
{
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after)
    {
        if (s.length() > n)
        {
            new AlertDialog.Builder(MyActivity.this).setTitle("Character limit exceeded").setMessage("Input cannot exceed more than " + n + " characters.").setPositiveButton(android.R.string.ok, null).show();
        }
    }

    @Override
    public void afterTextChanged(Editable s)
    {
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count)
    {
    }
});

何必麻烦呢,只需将提示属性设置为“最多150个字符”


最好通过此属性将字符数限制为150

android:maxLength=“150”


希望这有帮助

我已经看到了很多好的解决方案,但我想给出一个我认为更完整、用户友好的解决方案,其中包括:

1、限制长度。 2.如果输入更多,则发出回调以触发您的祝酒词。 3、光标可以在中间或尾部。 用户可以通过粘贴字符串进行输入。 5、始终放弃溢出输入并保留原点


此处:

谢谢Ramesh,但不幸的是,这些需求需要一个警报。@Serpentine一条Toast消息怎么样?任何东西都可能比模态警报更好我同意,但我无能为力谢谢GR8DAN,但不幸的是,需求需要提醒。
android:hint="Max. 150 characters"