2016-01-29 2 views
5

मुझे पता है कि कुछ प्रश्न पहले ही पूछे जा चुके हैं, लेकिन मेरे पास थोड़ा अलग प्रश्न है।संपादन टेक्स्ट के बाद इनपुट लेने से रोकने के लिए कैसे करें

EditText में इनपुट किए जाने वाले अधिकतम वर्णों की संख्या पर हम सीमा कैसे लगा सकते हैं? मैं इस

android:maxLength="7" 

या ऐसा करने के चाहे

((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] { 
    new InputFilter.LengthFilter(7) 
}); 

मैं अभी भी पाठ फ़ील्ड में टाइप कर सकते हैं, हालांकि यह दिखाई और ध्यान में नहीं रखा नहीं है। अगर मैं टाइपिंग करता हूं, तो सीमा के बाद इनपुट अदृश्य हो जाता है, लेकिन test-suggestions अक्षरों की उच्च संख्या के लिए भवन बना रहता है।

मान लीजिए कि मेरी सीमा 7 है और मैंने 10 अक्षरों को टाइप किया है, तो मुझे केवल पहले 7 अक्षर दिखाई देंगे, लेकिन टेक्स्ट-सुझाव 10 अक्षर शब्द दिखाएंगे। इसके अलावा, मुझे अपने दिखाए गए 7-अक्षर वाले शब्द से अक्षरों को हटाने शुरू करने के लिए बैकस्पेस 3 बार दबाएं।

तो, मेरा सवाल है: क्या किसी निश्चित चरित्र की लंबाई के बाद इनपुट लेने से रोकने का कोई तरीका है?

पीएस: कहने की जरूरत नहीं है, लेकिन हालांकि मैं 7 अक्षरों के बाद इनपुट इनपुट नहीं करना चाहता हूं, तो मैं डिलीट या बैकस्पेस को अनुमति दूंगा।

+0

** मान लीजिए मेरी सीमा 7 है और मैं 10 पत्र टाइप किया, तो मैं केवल पहले 7 पत्र देखना होगा, लेकिन पाठ सुझाव 10 अक्षरों वाले शब्द दिखाई देगा। इसके अलावा, मुझे अपने दिखाए गए 7-अक्षर वाले शब्द ** - सच से अक्षरों को हटाने के लिए बैकस्पेस 3 बार दबाएं। मैंने कोशिश की और सही केस – NarendraJi

उत्तर

9

बस इस जोड़ने आपके संपादन के लिए xt। यह निश्चित रूप से काम करेगा।

android:inputType="textFilter" 

मैंने कोशिश की और यह मेरे लिए काम किया।

+0

धन्यवाद, यह पूरी तरह से काम कर रहा है। –

+0

खुशी दोस्त :) – NarendraJi

+0

अच्छा एक दोस्त। –

3

इस कोशिश,

android:inputType="textNoSuggestions|textVisiblePassword" 
android:maxLength="7" 

या

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 
+0

उत्तर के लिए धन्यवाद, लेकिन मेरी चिंता सुझावों के बारे में नहीं है। यह मुख्य रूप से इनपुट को रोकने के बारे में है। –

+0

yup एक बग है ताकि एक बार जब आप इनपुट प्रकार maxLength संशोधित कर लेंगे तो उपयोगकर्ताओं को अधिक बफर टाइप करने से रोक देगा। – Madhur

+0

इस http://stackoverflow.com/questions/12083183/android-edittext-max-length/19222238#19222238 – Madhur

-1

रूप @Madhur sugested, अपने EditText एक्सएमएल में अगले पंक्ति जोड़ें:

Documentation

android:maxLength="7" 
+0

धन्यवाद, लेकिन यह पहले से ही है अभी कर रहा है। मुझे इनपुट को रोकने में मदद की ज़रूरत है जैसा कि मैंने अपने प्रश्न में उल्लेख किया है। –

+0

उस लाइन के बाद इनपुट को रोका जाना चाहिए, आप अपने संपादन टेक्स्ट में 0-6 वर्णों से ऑनलू इनपुट कर सकते हैं। – Stanojkovic

+0

** मान लीजिए कि मेरी सीमा 7 है और मैंने 10 अक्षरों को टाइप किया है, तो मुझे केवल पहले 7 अक्षर दिखाई देंगे, लेकिन टेक्स्ट-सुझाव 10 अक्षर शब्द दिखाएंगे।इसके अलावा, मुझे अपने दिखाए गए 7-अक्षर वाले शब्द ** से वास्तव में अक्षरों को हटाने शुरू करने के लिए बैकस्पेस 3 बार दबाए जाने की आवश्यकता है। देखें कि ओपी क्या कह रहा है – NarendraJi

1

यह अंत में मेरे लिए काम करता है:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD); 
संबंधित मुद्दे