如何在Android中设置EditText的最大字符数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android中设置EditText的最大字符数?相关的知识,希望对你有一定的参考价值。

如何设置android EditText输入的最大字符数?我看到setMaxLines,setMaxEMS,但没有任何字符数。

答案

在XML中,您可以将此行添加到EditText View,其中140是最大字符数:

android:maxLength="140"
另一答案

动态:

editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(MAX_NUM) });

Zia Xml:

<EditText
    android:maxLength="@integer/max_edittext_length"
另一答案

你可以使用InputFilter,就是这样:

EditText myEditText = (EditText) findViewById(R.id.editText1);
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(10); //Filter to 10 characters
myEditText .setFilters(filters);
另一答案

这可能有所帮助:

另一答案

我总是像这样设置最大值:

    <EditText
        android:id="@+id/edit_blaze_it
        android:layout_width="0dp"
        android:layout_height="@dimen/too_high"

    <!-- This is the line you need to write to set the max-->
        android:maxLength="420"
        />
另一答案

它对我有用。

    etMsgDescription.setFilters(new InputFilter[] {new InputFilter.LengthFilter(maximum_character)});

    etMsgDescription.addTextChangedListener(new TextWatcher() {

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            tvCharacterLimite.setText(" "+String.valueOf(maximum_character - etMsgDescription.getText().length()));
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });
另一答案

这对我有用,这是我发现的最好的。它的最大长度为200个字符

editObservations.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        if (editObservations.getText().length() >= 201){
                String str = editObservations.getText().toString().substring(0, 200);
                editObservations.setText(str);
                editObservations.setSelection(str.length());
        }
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
                                          int after) {
    }

    @Override
    public void afterTextChanged(Editable s) {
    }
});
另一答案
   <EditText
        android:id="@+id/edtName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter device name"
        android:maxLength="10"
        android:inputType="textFilter"
        android:singleLine="true"/>

InputType必须设置“textFilter”

        android:inputType="textFilter"
另一答案

在任何地方使用此功能:

 public static void setEditTextMaxLength(EditText editText, int length) {
    InputFilter[] FilterArray = new InputFilter[1];
    FilterArray[0] = new InputFilter.LengthFilter(length);
    editText.setFilters(FilterArray);
  }

以上是关于如何在Android中设置EditText的最大字符数?的主要内容,如果未能解决你的问题,请参考以下文章

Android 系统搜索框 如何限制输入字数长度?

如何以编程方式在 dp 中设置 EditText 上边距?

如何在android的提示文本中设置字母间距

Android 中设置EditText输入框提示文本hint的字体大小

android gridview 怎么在适配器中设置不可选择项

Android:如何在 android constraintLayout 中设置视图的最大宽度?