Filter von Array Adapter bearbeiten

  • Hallo,
    ich bin gerade dabei eine App zu programmieren, in der Content in einem Listview dargestellt wird. Damit dieser Listview durchsucht werden kann habe ich einen SearchView platziert, der bei der Eingabe von Buchstaben den List View durchsucht. Dafür nutze ich die Methode getFilter(). Der in diesem Fall wichtige Programmierabschnitt bei mir lautet:

    Code
    @Override
                public boolean onQueryTextChange(String text) {
                    ArrayAdapter.getFilter().filter(text);
                    return false;
                }

    Wenn mein ListView nun z.B. folgende 2 Einträge hat:

    Hallo
    Bhallo


    Dann zeigt mir der ListView nach der Eingabe der Bustaben "ha" in den SearchView jedoch nur "Hallo" an. Ich möchte aber auch "Bhallo" angezeigt bekommen, da dort ja auch "ha" hintereinander drin vorkommt. Wisst Ihr, was man da ändern muss? Ich dachte, vielleicht kann man in die Klammer hinter getFilter irgendwelche Suchkriterien eintragen.

    Ich würde mich über Hilfe von euch freuen.

  • ich denke das problem liegt nicht in deinem geposteten Code sondern in der filter methode. Dort wird nur nach Text gesucht der mit "ha" beginnt. Vermutlich irgendwas mit Regex und und diesem muster /^string/

  • .*string.* tuts auch :P

    wozu das + und drum rum ein fragezeichen?
    das sagt ja im prinzip es muss ein zeichen da sein innerhalb der klammer, aber die klammer kann da sein oder nicht. Das läuft dann im prinzip wieder auf ein .* hinaus.

    Einmal editiert, zuletzt von Ben (31. März 2016 um 22:33)

  • .*string.* tuts auch :P

    wozu das + und drum rum ein fragezeichen?
    das sagt ja im prinzip es muss ein zeichen da sein innerhalb der klammer, aber die klammer kann da sein oder nicht. Das läuft dann im prinzip wieder auf ein .* hinaus.


    Ich versteh ehrlich gesagt jetzt aber noch nicht so richtig, wo ich das einfügen soll. Mein jetzigen Versuche haben alle nur Fehler mit sich gebracht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!