एंड्रॉइड में एक EditText के लिए अधिकतम वर्ण कैसे सेट करें?


128

Android EditText इनपुट के लिए अधिकतम वर्ण कैसे सेट करें? मैं सेटमैक्सलाइन, सेटमैक्सैम देख रहा हूं, लेकिन पात्रों की संख्या के लिए कुछ भी नहीं।


इसके अलावा, SO उत्तर [यहां] [1] गतिशील रूप से अधिकतम लंबाई निर्धारित करने के लिए [१]: stackoverflow.com/a/4145983/530513
डेविड ओ'मैरा '

जवाबों:


261

XML में आप इस लाइन को जोड़ सकते हैं EditText Viewजहाँ 140 अधिकतम वर्ण है:

android:maxLength="140"

क्या आप मुझे बता सकते हैं कि ग्रहण के xml ग्राफ़िकल दृश्य में गुण टैब का उपयोग करके हम इसे कैसे प्राप्त कर सकते हैं?
नितेश वर्मा

@NiteshVerma आपके रेस / लेआउट xml फ़ाइल में अगला '<LinearLayout .... <editText android: maxLength = "20"
शेल स्कॉट

60

गतिशील रूप से:

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

वाया xml:

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

45

आप एक 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);

7

मैं हमेशा इस तरह अधिकतम सेट करता हूं:

    <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

यह मेरे लिए काम कर रहा है।

    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

यह मेरे लिए इस तरह से काम करता है, यह मेरे लिए सबसे अच्छा है। यह अधिकतम 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) {
    }
});

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 को "textFilter" सेट करना होगा

        android:inputType="textFilter"

0

कहीं भी आसानी से इस फ़ंक्शन का उपयोग करें:

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

0

कोटलिन रास्ता

editText.filters = arrayOf(InputFilter.LengthFilter(maxLength))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.