Ich verwende addTextChangedListener (...), um übereinstimmende Zeichenfolge mit Filter in Arraylist zu erhalten. Ich kann die übereinstimmende Zeichenfolge leicht filtern, aber ich möchte, wenn die eingegebene Zeichenfolge nicht mit den Arraylist-Datensätzen übereinstimmt dann Toast zeigen, dass Datensatz nicht gefunden.Toast anzeigen, wenn der Datensatz nicht übereinstimmt
das ist mein addTextChangedListener() Methode
etserach.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) {
String st = etserach.getText().toString();
if (!s.equals("") && s.length() > 0) {
adapter_filter.filter(st);
} else {
adapter_filter.filter(st);
}
}
}
und das ist filter() Methode von Adapter
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
resultArrayshort.clear();
if (charText.length() == 0) {
resultArrayshort.addAll(citylistNew);
} else {
for (int i = 0; i < citylistNew.size(); i++) {
String fullname = citylistNew.get(i).getClientNameE();
if (fullname.toLowerCase(Locale.getDefault()).contains(charText)) {
resultArrayshort.add(citylistNew.get(i));
}
/* else{
Toast.makeText(mContext,"Record not found",Toast.LENGTH_SHORT).show();
} */
}
}
notifyDataSetChanged();
}
was willst du? Toast Syntax oder Logik? Warum zeigt es nicht? –
Es ist unklar, was Sie erreichen möchten. –
hi, thnx für die rpl, nehmen wir an ("abc", "acb", "aab"} diese 3 records in meiner arraylist und im eingang "aaQ" in einem filter editText dann sollte msg anzeigen "record not found" – nidhi