2015-03-03 12 views
6

पर अधिकतम "शब्द" सीमा को कैसे सेट करें एंड्रॉइड EditText पर अधिकतम शब्द सीमा कैसे सेट करें मुझे पता है कि चरित्र सीमा कैसे सेट करें, लेकिन मैं शब्द सीमा देख रहा हूं।एंड्रॉइड एडिटटेक्स्ट

उत्तर

8

आपको TextChangedListener को अपने EditText पर जोड़ने की आवश्यकता है, तो InputFilter लागू करें कोड को निम्नलिखित कोड देखें।

edDesc.addTextChangedListener(new TextWatcher() { 

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

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
     int wordsLength = countWords(s.toString());// words.length; 
     // count == 0 means a new word is going to start 
     if (count == 0 && wordsLength >= MAX_WORDS) { 
      setCharLimit(edDesc, edDesc.getText().length()); 
     } else { 
      removeFilter(edDesc); 
     } 

     tvWordCount.setText(String.valueOf(wordsLength) + "/" + MAX_WORDS); 
     } 

    @Override 
    public void afterTextChanged(Editable s) {} 
}); 

private int countWords(String s) { 
    String trim = s.trim(); 
    if (trim.isEmpty()) 
     return 0; 
    return trim.split("\\s+").length; // separate string around spaces 
} 

private InputFilter filter; 

private void setCharLimit(EditText et, int max) { 
    filter = new InputFilter.LengthFilter(max); 
    et.setFilters(new InputFilter[] { filter }); 
} 

private void removeFilter(EditText et) { 
    if (filter != null) { 
     et.setFilters(new InputFilter[0]); 
     filter = null; 
    } 
} 

आपको पेस्ट ईवेंट को रोकना होगा ताकि उपयोगकर्ता आवश्यक शब्दों से अधिक पेस्ट करने में सक्षम न हो। आप एंड्रॉइड EditText पेस्ट इवेंट [read more]

+0

अभी भी आप पेस्ट घटना के लिए देखने की जरूरत :) –

-2

को संपादित कर सकते हैं आप शब्दों को संपादित टेक्स्ट में टाइप करने के लिए सीमित कर सकते हैं।

सीधे शब्दों में, इस

android:maxLength="10" 

पूर्ण कोड जोड़ें:

<EditText 
     android:id="@+id/uname" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="textPersonName" 
     android:maxLength="10"/> 

आधिकारिक प्रलेखन here

मुबारक कोडिंग :)

+0

यह अक्षर की अधिकतम संख्या सेट करता है, शब्द नहीं – CACuzcatlan

संबंधित मुद्दे