Ben sorun gibi görünüyor ne olduğunu anlamaya çalışıyorum, ama temelde ben görüntüleri ve metin olan özel bağdaştırıcıyı kullanan liste listemi filtrelerim. ilk defa çalışmalarını ör. Etkinlik ilk kez çalıştırıldığında tüm verilere sahip olduğunda ve arama kutusuna bir şey yazdığımda onu filtreler. ama sonra oradan başka bir şey girersem, herhangi bir şey yazmaz ve veriyi tutan dizi boştur. Her türlü önerinize açığız.android filter listview sadece ilk arama için çalışıyor
filtre kod parçası
@Override
public Filter getFilter() {
Filter filter = new Filter() {
@SuppressWarnings("unchecked")
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
data= (List<Data>) results.values;
notifyDataSetChanged();
}
@Override
protected FilterResults performFiltering(CharSequence constraint) {
FilterResults results = new FilterResults();
ArrayList<Item> FilteredArrayNames = new ArrayList<Item>();
// perform your search here using the searchConstraint String.
constraint = constraint.toString().toLowerCase();
for (int i = 0; i < data.size(); i++) {
Item dataNames = data.get(i);
if (dataNames.title.toLowerCase().contains(constraint.toString())) {
FilteredArrayNames.add(dataNames);
}
}
results.count = FilteredArrayNames.size();
results.values = FilteredArrayNames;
Log.e("VALUES", results.values.toString());
return results;
}
};
return filter;
}
aktivitesi kod parçası
text =(SearchView)findViewById(R.id.searchData);
text.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText.toString());
return true;
}
});
sorunu hala devam ediyor, ilk kez ve boş diziyi oradan filtreler –