我有一个编辑文本和一个文本视图,我想在我的编辑文本中设置一个Max长度,它在我的文本视图中显示,每次用户输入一个字符时,它将减去字符数.例如,我将编辑文本的最大长度设置为150,如果用户输入150个字符,则他/她不能再输入.
如何解决这个问题?
解决方法:
要设置EditText的最大长度(选择一个或另一个):
>在您的XML文件(推荐)中,使用属性android:maxLength =“150”Ex:
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)
{ }
});
标签:android
来源: https://codeday.me/bug/20191008/1870474.html