如何在Android上设置最大字数限制EditText
我知道如何设置字符数限制,但我在寻找字数限制。Android如何在EditText上设置最大“字数”限制
6
A
回答
8
您需要将TextChangedListener
添加到您的EditText
,然后应用InputFilter
请参阅以下代码。
edDesc.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
int wordsLength = countWords(s.toString());// words.length;
// count == 0 means a new word is going to start
if (count == 0 && wordsLength >= MAX_WORDS) {
setCharLimit(edDesc, edDesc.getText().length());
} else {
removeFilter(edDesc);
}
tvWordCount.setText(String.valueOf(wordsLength) + "/" + MAX_WORDS);
}
@Override
public void afterTextChanged(Editable s) {}
});
private int countWords(String s) {
String trim = s.trim();
if (trim.isEmpty())
return 0;
return trim.split("\\s+").length; // separate string around spaces
}
private InputFilter filter;
private void setCharLimit(EditText et, int max) {
filter = new InputFilter.LengthFilter(max);
et.setFilters(new InputFilter[] { filter });
}
private void removeFilter(EditText et) {
if (filter != null) {
et.setFilters(new InputFilter[0]);
filter = null;
}
}
您必须拦截粘贴事件,以便用户不应该粘贴超过所需的字数。您可以拦截Android EditText
粘贴事件[read more]
-2
您可以限制单词在EditText中输入。
简单,添加此
android:maxLength="10"
全码:
<EditText
android:id="@+id/uname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:maxLength="10"/>
官方文档here
编码快乐:)
+0
这设置了字符的最大数量,而不是单词 – CACuzcatlan 2017-03-21 23:06:02
相关问题
- 1. android editText最大限制
- 2. 如何设置EditText字段的最大和最小字符?
- 3. 如何在android中为日期选择器设置最小和最大限制?
- 4. android edittext限制文本和数字
- 5. 如何限制的EditText在Android的
- 6. 如何在varImpPlot上设置x限制
- 7. 如何在android中为edittext设置inputfilter
- 8. 如何设置EditText的数字格式
- 9. 如何在Linux上设置最大TCP最大段大小?
- 10. 根据屏幕尺寸设置EditText高度和最大线条的限制
- 11. 设置EditText的最大长度
- 12. 如何设置IBInspectable Int的最大限制
- 13. 如何设置窗口的最大限制
- 14. Kohana 3分页,如何设置最大页面链接限制?
- 15. 如何限制数字前后的数字点数EditText
- 16. 如何设置edittext的最小长度并将输入类型设置为大写字母或数字?
- 17. Android如何为计算总和的程序设置最大结果限制?
- 18. 在Chart.JS上设置限制
- 19. 如何在EditText的GroupView上设置setOnClickListener
- 20. 如何在ListView上设置EditText?
- 21. Android EditText不尊重大小设置
- 22. 如何在CakePHP表单中设置最小或最大日期限制?
- 23. 如何在iphone中的一个视图中的文本字段上设置不同的最大字符限制?
- 24. 如何限制计数的最大值
- 25. 在SQL中设置数字值限制
- 26. Flash - 在TLFTextField上设置最大线数
- 27. 如何在UITextField上设置字符限制
- 28. 避免最大字符数限制c#
- 29. 如何在Android上为EditText设置MultiLine和imeOptions =“actionDone”?
- 30. 如何限制十进制数字 - Android
仍需要看到粘贴事件:) – 2015-03-03 04:14:42