我有一个编辑文本和一个文本视图,我想在编辑文本中设置最大长度,它显示在我的文本视图中,每次用户输入字符时,它都会减去字符数。例如,我将编辑文本的最大长度设置为 150,如果用户输入 150 个字符,他/她就无法再输入了。
如何解决这个问题?
设置 EditText 的最大长度 (选择其中之一):
-
在您的 XML 文件中(推荐),使用属性android:maxLength="150"
Ex:
<EditText
android:id="@+id/yourEditTextId"
...
android:maxLength="150" />
-
以编程方式(在您的onCreate
方法),像这样:
EditText et = (EditText)findViewById(R.id.yourEditTextId);
et.setFilters(new InputFilter[] {
new InputFilter.LengthFilter(150) // 150 is max length
});
要保留 EditText 中剩余长度的计数器:
将此侦听器添加到您的onCreate
方法(或任何地方,但它是有意义的onCreate
):
final EditText et = (EditText)findViewById(R.id.yourEditTextId);
et.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
TextView tv = (TextView)findViewById(R.id.yourTextViewId);
tv.setText(String.valueOf(150 - et.length()));
}
@Override
public void onTextChanged(CharSequence s, int st, int b, int c)
{ }
@Override
public void beforeTextChanged(CharSequence s, int st, int c, int a)
{ }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)