我有一个EditText给用户评论.现在我想输入限制将是500字.这意味着用户最多可以写500条评论.我该如何实现呢?请帮我.
您可以使用a TextWatcher来观看文本而不允许它超过500个单词.
实施你的TextWatcher:
final int MAX_WORDS = 500;
final EditText editBox = (EditText) findViewById(<your EditText field>);
editBox.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
// Nothing
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Nothing
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
String[] words = s.toString().split(" "); // Get all words
if (words.length > MAX_WORDS) {
// Trim words to length MAX_WORDS
// Join words into a String
editBox.setText(wordString);
}
}
});
Run Code Online (Sandbox Code Playgroud)
注意:您可能需要使用的东西从这个线程加入String[]到wordString.
但是,坦率地说,这不是世界上最有效的方法.事实上,String在每个键条目上创建整个数组可能非常费力,特别是在旧设备上.
我个人推荐的是,您允许用户输入他们想要的任何内容,然后在他们点击提交时验证它的字数.如果是这样的<=500话,请允许它,否则否认它,并给它们一些Toast告诉它们的消息(一个?).
最后,通过字数统计验证是非常不确定的.请记住,像 (字符160)这样的东西可以用作空格,但不会被这个空间拾取.你是远不如挑选一组字符的限制和使用限制的领域maxLength已经提供了答案.
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |