我想将 EditText 字段限制为 150 个字符,我可以很容易地做到这一点。但是,当用户尝试超过该限制时,我还需要通过键入(即第 151 个字符)或粘贴超过 150 个字符来提醒用户。
解决这个问题的最佳方法是什么?
我想将 EditText 字段限制为 150 个字符,我可以很容易地做到这一点。但是,当用户尝试超过该限制时,我还需要通过键入(即第 151 个字符)或粘贴超过 150 个字符来提醒用户。
解决这个问题的最佳方法是什么?
通过 EditText 的方法添加一个TextWatcher 。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 个字符”
android:hint="Max. 150 characters"
最好通过此属性将字符数限制为 150,
http://androidblogger.blogspot.com/2009/01/numeric-edittext-and-edittext-with-max.html
安卓:maxLength="150"
希望这可以帮助
我看到了很多好的解决方案,但我想给出一个我认为更完整和用户友好的解决方案,其中包括:
1、限制长度。2,如果输入更多,给一个回调来触发你的吐司。3,光标可以在中间或尾部。4,用户可以通过粘贴字符串输入。5、始终丢弃溢出输入并保持原点。