मेरे पास में आइटम को फ़िल्टर करने के लिए EditText
है, जिसमें आमतौर पर 1000 से अधिक आइटम हो सकते हैं। TextWatcher
है:कुछ कार्रवाई करने से पहले कुछ समय के लिए टेक्स्टवॉचर का इंतजार कैसे करें
txt_itemSearch.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
fillItemList();
}
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
});
यहां मुद्दा यह है कि उपयोगकर्ता द्वारा टाइप प्रत्येक अक्षर के साथ, सूची ताजा हो रही है और यह इस दोहराया सूची अद्यतन जिसकी वजह से यूआई धीमी गति से हो रहा है।
मैं TextWatcher
1-2 सेकंड के लिए प्रतीक्षा कैसे कर सकता हूं और यदि 2 सेकंड के बाद कोई इनपुट नहीं होता है, तो सूची फ़िल्टर करें। कोई सुझाव लोग?
* कोई सुझाव लोग * - एडाप्टर के 'getFilter (का उपयोग करते हुए' ListView' छानने का उचित तरीके से उपयोग) 'विधि। – Luksprog
ठीक है, लेकिन फ़िल्टरिंग जटिल है। मुझे फ़िल्टर किए जाने के लिए कुछ चेकबॉक्स और अन्य पैरामीटर भी मिल गए हैं, इसलिए मेरा एकमात्र विकल्प SQLite क्वेरी के माध्यम से प्राप्त करना है। – desidigitalnomad