با سلام
من زمانیکه سرچ میکنم و نتیجه پیدا میشه و سپس وقتی از حالت سرچ خارج میشم و تمامی اطلاعات هستن ، از آن موردی که سرچ کردم ۱ مورد دیگر به آیتمها اضافه میشه
یعنی در جدول ۱ مورد پرداخت قبض هست
بعد از سرچ پرداخت قبض ، ۲ مورد در آیتمها پرداخت قبض وجود دارد و ۱عدد موقع سرچ اون مورد اضافه میشود!
اگر هم هنگام سرچ موردهای مشابه دیگری وجود داشته باشد اون آیتمها هم اضافه میشوند!
و از برنامه خارج میشم و دوباره وارد برنامه میشم اون آیتم هایی که اضافه شدند نیستن!
خیلی بررسی کردم اما دلیلش رو پیدا نکردم
سورس کد کوئری سرچ:
@Query("SELECT * FROM tbl_contactss WHERE name LIKE '%' || :key || '%'")
List<Model> search(String key);
سورس کد ادپتر:
public void setSearch(List<Model> model){
this.models=model;
notifyDataSetChanged();
}
سورس کد اکتیویتی اصلی:
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length()>0){
List<Model> models1=dataDao.search(s.toString());
adapter.setSearch(models1);
}else {
List<Model> tasks = dataDao.getItem();
adapter.addAll(tasks);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});