Es gibt mehr als 2.000 Elemente in meiner Listenansicht und egal nach welchem Element ich suche, nach dem Drücken eines Buchstabens wird listView leer, als ob Es gab keine relevanten Punkte.Der Versuch, ein ListView mit einem SearchView zu filtern. Es werden keine Elemente angezeigt, egal welches Wort ich eintrage, selbst wenn relevante Elemente in der ListView vorhanden sind.
Ich rate es ist, weil ich das simple_list_item_2 Layout verwende, das von Android Studio zur Verfügung gestellt wird. Es hat zwei textView Felder und deshalb kann die Filterung durcheinander geraten. Es ist nur eine Vermutung von mir.
Hier ist der Adapter und Listenansicht:
adapter = new ArrayAdapter(ViewExistingCustomersActivity.this, android.R.layout.simple_list_item_2, android.R.id.text1, customers) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText(customers.get(position).getDefinition());
text2.setText(customers.get(position).getAddress1() + " Bakiye: " + customers.get(position).getBalance());
return view;
}
};
customersListView.setAdapter(adapter);
// Dokunulan ListView elemanının detaylarını gösterecek ekranı çağıran kod.
customersListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent viewCustomerDetailsIntent = new Intent(ViewExistingCustomersActivity.this, CurrentStatementActivity.class);
viewCustomerDetailsIntent.putExtra("customer", customers.get(i));
viewCustomerDetailsIntent.putExtra("user", user);
startActivity(viewCustomerDetailsIntent);
}
});
Und hier ist der Suche:
customersSearchView.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
adapter.getFilter().filter(newText);
return false;
}
});
Mögliches Duplikat [Wie ein RecyclerView mit einem Search filtern] (https: // Stackoverflow. com/questions/30398247/how-to-Filter-ein-recyclerview-with-a-searchview) –