2017-10-05 4 views
0

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(); 
} 
+0

was willst du? Toast Syntax oder Logik? Warum zeigt es nicht? –

+0

Es ist unklar, was Sie erreichen möchten. –

+0

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

Antwort

0

Hallo @nidhi nach for-Schleife überprüfen Sie die Größe von resultArray, wenn es ist leer dann Toast zeigen

+0

hallo, thnx für die rpl und meine arraylist ist nicht leer, mein record ist nicht passend für ex. {"abc", "acb", "aab"} diese 3 record in meiner arraylist und im eingang "aaQ" in einem filter editText dann sollte es zeigen msg, dass "record nicht gefunden" – nidhi

+0

@nidhi müssen sie versuchen meine antwort – YoLo

+0

nicht , es funktioniert nicht. – nidhi

0

nach notifydatasetchanged Check Größe resultArrayshort wenn Toast

if(resultArrayshort.isEmpty()){ 

//show toast 

} 
zeigen leer dann gefunden
+0

@nidhi ich denke, ich habe es zuerst beantwortet – YoLo

Verwandte Themen