2012-11-16 16 views
16

मैं एक EditText है, और मुझे पात्रों जो इस EditText में डाले जा सकता है की संख्या सीमित है, और इस प्रतिबंध प्रोग्राम के रूप में, यह कैसे करना है बनाना चाहते हैं? उदाहरण के लिए, कहें कि मैं इसे केवल 10 वर्णों की अनुमति देने के लिए प्रतिबंधित करना चाहता हूं।EditText: पात्रों में से सेट संख्या को प्रोग्राम के

+0

के संभावित डुप्लिकेट का प्रयास करें [प्रोग्राम के रूप में एंड्रॉयड TextView में maxLength स्थापित करने के लिए कैसे?] (Http://stackoverflow.com/questions/2461824/how-to-programmatically सेट-maxlength-इन-android-TextView) – Pongpat

उत्तर

36

आप वर्णों की संख्या के रूप में प्रोग्राम के रूप में EditView में प्रतिबंधित करने के लिए InputFilter का उपयोग कर सकते हैं: आप EditView में वर्णों की संख्या को सीमित करने के लिए इस ट्यूटोरियल देख सकते हैं और सहायता के लिए

InputFilter[] FilterArray = new InputFilter[1]; 
FilterArray[0] = new InputFilter.LengthFilter(10); 
your_edittext.setFilters(FilterArray); 

:

http://www.tutorialforandroid.com/2009/02/maxlength-in-edittext-using-codes.html

1

मैं एक फ़िल्टर लागू करता हूं:

InputFilter filter = new InputFilter() { 

    @Override 
    public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { 
     if (source.length > 10){ 
     //cancel the edit or whatever 
     } 
    } 
}; 
EditText editText = (EditText) findViewById(R.id.rg); 
editText.setFilters(new InputFilter[] {filter}); 
1
public void setEditTextMaxLength(int length) { 
    InputFilter[] FilterArray = new InputFilter[1]; 
    FilterArray[0] = new InputFilter.LengthFilter(length); 
    edt_text.setFilters(FilterArray); 
} 
0

यह मेरा दोस्त आसान खेल आसान जीवन InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter.LengthFilter(5); input.setFilters(FilterArray);