मेरे एंड्रॉइड प्रोजेक्ट में मुझे टेक्स्ट चेंज लिस्टनर (टेक्स्टवॉचर) को एक संपादन टेक्स्ट व्यू में जोड़ना पड़ा। और इसमें तीन हिस्से हैं।टेक्स्टवॉचर के ऑनटेक्स्ट चेंग्ड के बीच मतभेद, पहले टेक्स्टक्वांग और बाद में टेक्स्ट चेंज किया गया
onTextChanged
beforeTextChanged
afterTextChanged
इन तीन के विभिन्न क्या कर रहे हैं। मुझे मुख्य लिस्नर पर एक टेबल की खोज लागू करनी है और मेरे मामले के लिए ये सभी तीन समान दिखते हैं। इसके अलावा उन्होंने वही काम किया। जब मैं किसी उत्पाद नाम का एक हिस्सा इनपुट करता हूं तो तालिका केवल उन उत्पादों के साथ पुन: उत्पन्न होती है जिसमें उसमें टेक्स्ट दर्ज किया जाता है। लेकिन मैंने afterTextChanged
भाग का उपयोग किया। मेरा कोड
EditProduct.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
// System.out.println("onTextChanged"+s);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
// System.out.println("beforeTextChanged"+s);
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
// System.out.println("afterTextChanged"+s);
String new_prx = s.toString();
System.out.println(s);
mini_productList = new ArrayList<Product>();
// mini_productList
int count = 0;
if (new_prx.equals("")) {
loadtableProducts(productList);
} else {
for (int i = 0; i < productList.size(); i++) {
if (productList.get(i).getDescription().toString()
.substring(0, (new_prx.length()))
.equalsIgnoreCase(new_prx)) {
mini_productList.add(productList.get(i));
count++;
}
}
loadtableProducts(mini_productList);
}
}
});
तो क्या कोई मुझे इन तीनों पर स्पष्टीकरण दे सकता है?
आप इस सूत्र मिल सकती है मददगार http://stackoverflow.com/questions/476848/android-textwatcher-aftertextchanged-vs-textwatcher-ontextchanged –