【问题标题】:how to avoid editText change using textWatcher?如何避免使用 textWatcher 更改 editText?
【发布时间】:2014-05-05 04:55:14
【问题描述】:

我有一个要控制长度的editText。

如何避免用户输入导致文本长度超过 X 的字符?

我想过用beforeTextChanged(CharSequence s, int start, int count, int after) {

但是我不确定如何跳过添加字符。

长度是动态确定的 - 在活动开始时从服务器端获取它

【问题讨论】:

标签: java android text android-edittext


【解决方案1】:

好吧,如果您需要阻止用户输入超过x 的文本,只需将android:maxLength="x" 作为 EditText 的属性即可。

或者,

mEditText.setFilters( new InputFilter[] { new InputFilter.LengthFilter(<length>) } );

【讨论】:

  • 长度是动态确定的——在活动开始时从服务器端获取
  • 然后用Java设置?
  • The method setMaxLength(int) is undefined for the type EditText
  • 对不起!非常抱歉!它在我匆忙回答时跳过了我的脑海。请立即查看我的更新答案。
【解决方案2】:

在edittext中使用以下属性

android:maxLength="10"

【讨论】:

  • 长度是动态确定的——在活动开始时从服务器端获取
  • 这样您就可以将代码写入 .java 文件,制作字符串对象并使用此属性以动态方式将字符串的长度放入您的编辑文本中。
  • EditText 类型的 setMaxLength(int) 方法未定义
  • 它取决于版本。
猜你喜欢
  • 2012-03-18
  • 1970-01-01
  • 2016-02-16
  • 2011-11-18
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多