超出 EditText 限制时提醒用户

Ser*_*ine 2 android android-edittext android-alertdialog

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

解决这个问题的最佳方法是什么?

Xåp*_* - 5

通过 EditText 的方法添加一个TextWatcheraddTextChangedListener()。只需为您的用例实现适当的方法。也许显示警报对话框?

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)
    {
    }
});
Run Code Online (Sandbox Code Playgroud)