Làm cách nào để bạn đặt số lượng ký tự tối đa cho EditText trong Android?


Câu trả lời:


260

Trong XML, bạn có thể thêm dòng này vào trong EditText Viewđó 140 là số ký tự tối đa:

android:maxLength="140"

bạn có thể dẫn tôi làm thế nào chúng ta có thể đạt được điều này bằng cách sử dụng tab thuộc tính trong chế độ xem đồ họa xml của nhật thực không?
Nitesh Verma

@NiteshVerma trong tệp xml res / layout của bạn đặt tiếp theo '<linearLayout .... <EditText android: maxLạng = "20"'
Shell Scott

60

Động:

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

Qua xml:

<EditText
    android:maxLength="@integer/max_edittext_length"

45

Bạn có thể sử dụng InputFilter, đó là cách:

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);

7

Tôi luôn đặt max như thế này:

    <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"
        />

4

Đó là làm việc cho tôi.

    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

        }
    });

0

Nó hoạt động với tôi theo cách này, đó là thứ tốt nhất tôi tìm thấy. Nó có độ dài tối đa 200 ký tự

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) {
    }
});

0
   <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 phải đặt "textFilter"

        android:inputType="textFilter"

0

sử dụng chức năng này bất cứ nơi nào một cách dễ dàng:

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

0

Cách của Kotlin

editText.filters = arrayOf(InputFilter.LengthFilter(maxLength))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.