यह भविष्य के दर्शकों के लिए अधिक स्पष्टीकरण के साथ थोड़ा अधिक सामान्य उत्तर है।
एक पाठ श्रोता जोड़ें
यदि आप पाठ की लंबाई खोजना चाहते हैं या पाठ को बदलने के बाद कुछ और करना चाहते हैं, तो आप अपने संपादित पाठ में एक पाठ परिवर्तित श्रोता जोड़ सकते हैं।
EditText editText = (EditText) findViewById(R.id.testEditText);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable editable) {
}
});
श्रोता एक की जरूरत है TextWatcher
, जो तीन तरीकों ओवरराइड करने के लिए की आवश्यकता है: beforeTextChanged
, onTextChanged
, और afterTextChanged
।
वर्णों की गिनती
आप चरित्र की गिनती में onTextChanged
या उसके beforeTextChanged
साथ प्राप्त कर सकते हैं
charSequence.length()
या afterTextChanged
साथ में
editable.length()
विधियों का अर्थ
पैरामीटर थोड़ा भ्रमित कर रहे हैं इसलिए यहां थोड़ा अतिरिक्त स्पष्टीकरण है।
beforeTextChanged
beforeTextChanged(CharSequence charSequence, int start, int count, int after)
charSequence
: लंबित परिवर्तन किए जाने से पहले यह पाठ सामग्री है। आपको इसे बदलने की कोशिश नहीं करनी चाहिए।
start
: यह वह इंडेक्स है जहां नया टेक्स्ट डाला जाएगा। यदि किसी श्रेणी का चयन किया जाता है, तो यह सीमा का आरंभिक सूचकांक है।
count
: यह चयनित पाठ की लंबाई है जो प्रतिस्थापित होने वाली है। अगर कुछ नहीं चुना गया तो count
होगा 0
।
after
: यह सम्मिलित किए जाने वाले पाठ की लंबाई है।
onTextChanged
onTextChanged(CharSequence charSequence, int start, int before, int count)
charSequence
: परिवर्तन के बाद यह पाठ सामग्री है। आपको यहां इस मान को संशोधित करने का प्रयास नहीं करना चाहिए। संशोधित editable
में afterTextChanged
अगर आप की जरूरत है।
start
: यह उस शुरुआत का सूचकांक है जहां नया पाठ डाला गया था।
before
: यह पुराना मूल्य है। यह पहले से चयनित पाठ की लंबाई है जिसे बदल दिया गया था। यह रूप में एक ही मूल्य है count
में beforeTextChanged
।
count
: यह पाठ की लंबाई है जिसे सम्मिलित किया गया था। यह रूप में एक ही मूल्य है after
में beforeTextChanged
।
afterTextChanged
afterTextChanged(Editable editable)
जैसे onTextChanged
, यह परिवर्तन पहले से ही किए जाने के बाद कहा जाता है। हालाँकि, अब पाठ को संशोधित किया जा सकता है।
editable
: यह का संपादन योग्य पाठ है EditText
। यदि आप इसे बदलते हैं, हालांकि, आपको अनंत लूप में नहीं आने के लिए सावधान रहना होगा। देखें प्रलेखन अधिक जानकारी के लिए।