जवाबों:
इन घटनाओं को निम्नलिखित क्रम में कहा जाता है:
पहले कस्टमचेंज्ड (CharSequence s, int start, int count, int after) ।
इसका मतलब है कि पात्रों को कुछ नए पाठ के साथ प्रतिस्थापित किया जाना है। पाठ अप्राप्य है।
उपयोग करें: जब आपको पुराने पाठ पर एक नज़र डालनी होगी जो बदलने वाला है।
onTextChanged (CharSequence s, int start, int before, int count) ।
परिवर्तन किए गए हैं, कुछ पात्रों को अभी बदल दिया गया है। पाठ अप्राप्य है।
उपयोग करें: जब आपको यह देखना हो कि पाठ में कौन से अक्षर नए हैं।
afterTextChanged (संपादन योग्य s) ।
ऊपर जैसा ही है, अब केवल पाठ संपादन योग्य है ।
उपयोग करें: जब आपको नया पाठ देखने और संपादित करने की आवश्यकता हो।
यदि मैं केवल परिवर्तनों के बारे में सुन रहा हूं EditText
, तो मुझे पहले दो तरीकों का उपयोग करने की आवश्यकता नहीं होगी। मैं सिर्फ तीसरी विधि में नए मान प्राप्त करूंगा और यदि आवश्यक हो तो नए पाठ को सही कर सकता हूं। हालाँकि, अगर मुझे सटीक बदलावों को ट्रैक करना था, जो मूल्यों के साथ होते हैं, तो मैं पहले दो तरीकों का उपयोग करूंगा। यदि मुझे परिवर्तनों को सुनने के बाद पाठ को संपादित करने की आवश्यकता होती है, तो मैं तीसरी विधि में भी ऐसा करूंगा।
सार्वजनिक शून्य afterTextChanged (संपादन योग्य)
इस पद्धति को आपको सूचित करने के लिए कहा जाता है, कहीं न कहीं
s
, पाठ को बदल दिया गया है।s
इस कॉलबैक से और परिवर्तन करना वैध है , लेकिन खुद को अनंत लूप में न लाने के लिए सावधान रहें, क्योंकि आपके द्वारा किए गए किसी भी परिवर्तन के कारण इस विधि को फिर से पुनरावृत्ति कहा जाएगा। (आप नहीं बताया जाता है जहां परिवर्तन हुआ है क्योंकि अन्य afterTextChanged () पद्धतियों पहले से ही अन्य परिवर्तन किए हों और ऑफसेट अवैध ठहरा दिया। लेकिन अगर आप यहाँ पता करने की जरूरत है, तो आप उपयोग कर सकते हैंsetSpan(Object, int, int, int)
मेंonTextChanged(CharSequence, int, int, int)
अपनी जगह चिह्नित करने के लिए और फिर यहाँ कहाँ से ऊपर देखो स्पान समाप्त हो गया।
सार्वजनिक शून्य से पहले कस्टमचार्ज किए गए (CharSequence s, int start, int count, int after)
यह विधि आपको यह सूचित करने के लिए कहा जाता है कि, भीतर शुरू होने
s
वालेcount
वर्णोंstart
को लंबाई के साथ नए पाठ द्वारा प्रतिस्थापित किया जाएगाafter
।s
इस कॉलबैक से परिवर्तन करने का प्रयास करना एक त्रुटि है ।
सार्वजनिक शून्य onTextChanged (CharSequence s, int start, int before, int count)
यह विधि आपको यह सूचित करने के लिए कहा जाता है कि, भीतर शुरू होने
s
वालेcount
वर्णोंstart
ने केवल पुराने पाठ को बदल दिया है जिसकी लंबाई थीbefore
।s
इस कॉलबैक से परिवर्तन करने का प्रयास करना एक त्रुटि है ।
TextWatcher के लिए Android के संदर्भ से सही ।
Android Textwatcher
एक तरह का ट्रिगर है जिसे इनपुट क्षेत्र के टेक्स्ट परिवर्तन पर कहा जाता है।
afterTextChanged (Editable s)
- इस विधि को तब कहा जाता है जब पाठ को बदल दिया गया हो। क्योंकि आपके द्वारा किए गए किसी भी परिवर्तन के कारण इस विधि को फिर से पुन: कहा जा सकेगा, आपको यहाँ संचालन करने के बारे में सतर्क रहना होगा, अन्यथा यह अनंत लूप को जन्म दे सकता है ।
onTextChanged (CharSequence s, int start, int before, int count)
- इस विधि को आपको सूचित करने के लिए कहा जाता है, जो s के भीतर, शुरुआत में शुरू होने वाले गिनती वर्णों ने पुराने पाठ को बदल दिया है जिसकी लंबाई पहले थी। इस कॉलबैक से s में परिवर्तन करने का प्रयास करना एक त्रुटि है।