1. Unicate, 27.09.2010 #1
    Unicate

    Unicate Threadstarter Android-Experte

    Hi alle zusammen!

    Ich habe eine array-list die ca. 1200 Einträge umfasst.
    Diese Liste würde ich gern an eine AutoCompleteTextView binden.

    Dies funktioniert nicht, da die Liste dann doch zu groß ist.

    Wie kann ich's dann machen ohne die Liste zu verkleinern (geht wirklich nicht kleiner)
     
  2. the_alien, 27.09.2010 #2
    the_alien

    the_alien Android-Lexikon

    Unterlisten anhängen wenn was getippt wurde? Wäre so meine erste Idee.
     
  3. BenOtto, 27.09.2010 #3
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Was passiert denn, wenn du die 1200 Einträge anhängst?

    Ich würd's auch so machen wie the_alien es vorschlägt. Bspw. ab 3 getippten Buchstaben macht's Sinn etwas vorzuschlagen (wenn's keine Wörter mit 2 Buchstaben in deiner Liste gibt). Dann filterst du die Liste nach den eingegebenen Buchstaben und hängst sie an.
     
  4. Unicate, 27.09.2010 #4
    Unicate

    Unicate Threadstarter Android-Experte

    Da bin ich auch gerade dran, danke erstmal. Dabei entsteht aber folgendes Problem:

    Wenn meine Liste klein genug wäre, könnte ich "bar" eingeben und er würde mit "foobar" mit anzeigen.

    Mit der von euch vorgeschlagenen, aber warscheinlich einzigen Lösung, würde das nicht funktionieren.

    Würde es evtl mit einem eigenem ContentResolver (und einem dazugehörigen CursorAdapter) funktionieren?
    Muss den warscheinlich so oder so schreiben.
     
  5. BenOtto, 27.09.2010 #5
    BenOtto

    BenOtto Android-Hilfe.de Mitglied

    Joah, das geht schon. Ist eine Frage der Performance. Ich würde behaupten, dass das iterieren und aussortieren deiner ArrayList länger dauert als eine Datenbankabfrage mit Wildcards bzw LIKE