2012-05-18 9 views
9

मैं अपने ऐप्स में से किसी एक में संपादन टेक्स्ट पर परिवर्तन सुनने के लिए android.text.TextWatcher इंटरफ़ेस का उपयोग कर रहा हूं। मैं पूर्ववत विकल्पों को अनुमति देने के लिए परिवर्तनों की निगरानी करता हूं, पहलेTextChanged() और onTextChanged() का उपयोग कर।वर्तनी सुझाव एंड्रॉइड.टेक्स्ट के साथ अनावश्यक मान देते हैं। टेक्स्टवॉचर

आमतौर पर, परिवर्तन एक चरित्र एक समय में उदाहरण के लिए होता है, यदि उपयोगकर्ता "हैलो", मैं, शुरू करने के लिए निम्नलिखित मूल्यों को प्राप्त करने के बाद और beforeTextChanged के मूल्यों की गणना करेंगे() विधि:

start = 0; count = 0; after = 1;  // typed 'h' 
start = 1; count = 0; after = 1;  // typed 'e' 
start = 2; count = 0; after = 1;  // typed 'l' 
start = 3; count = 0; after = 1;  // typed 'l' 
start = 4; count = 0; after = 1;  // typed 'o' 

अब, आईसीएस पर/सैमसंग गैलेक्सी नेक्सस, वर्तनी सुझाव सक्रिय साथ, जब मैं एक ही पाठ टाइप करें, शब्द EditText में रेखांकित किया गया है जब तक मैं खाली स्थान शामिल और मैं निम्नलिखित परिणाम प्राप्त:

start = 0; count = 0; after = 1;  // typed 'h' 
start = 0; count = 1; after = 2;  // typed 'e' 
start = 0; count = 2; after = 3;  // typed 'l' 
start = 0; count = 3; after = 4;  // typed 'l' 
start = 0; count = 4; after = 5;  // typed 'o' 

प्रलेखन के अनुसार, बाद का व्यवहार मैं जैसा कि "उपयोगकर्ता ने 1 अक्षर शब्द टाइप किया है, फिर इसे मिटा दिया और 2 अक्षर शब्द टाइप किए, फिर इसे मिटा दिया और 3 अक्षर शब्द टाइप किया, और इसी तरह ..."। और जब मैं एडिटटेक्स्ट पर अंडो करता हूं, तो मुझे "हैलो", "", "नरक", "", "हेल", "", "वह", "", "एच" मिलता है, जहां मैं केवल " नमस्ते", ""।

क्या इन मानों को देने के लिए वर्तनी सुझावों को रोकने का कोई तरीका है। आईएमएचओ, यह विधि दस्तावेज में दिए गए अनुबंध को तोड़ देता है।

यदि नहीं, तो मेरे संपादन टेक्स्ट पर सुझाव को रोकने का कोई तरीका है?

उत्तर

5

आप आसानी से पर्याप्त सुझाव रोका जा सकता है:

<EditText 
    ... 
    android:inputType="textNoSuggestions" /> 

मुझे यकीन है कि यह सब आईसीएस उपकरणों के साथ अच्छी तरह से काम करेगा हूँ। मेरा मानना ​​है कि क्षेत्र पुराने उपकरणों पर उपलब्ध नहीं है लेकिन उन परिस्थितियों में जो समस्या नहीं होनी चाहिए।

+0

या प्रोग्रामेटिक रूप से: editText.setInputType (InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); –

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