Searchbar mit Ergebnissen (Kotlin)

  • Hallo ihr!

    Ich hab vor 2 Wochen angefangen eine App zu entwickeln. Rein aus privatem interesse.

    Darin brauche ich nun aber eine Liste, die Namen mit dazugehöriger Nummer enthält in einer Tabelle.

    Nun brauch ich in den Suchergebissen dann alle Zeilen einer Tabelle, die diese Namen oder Nummern enthalten.

    zB kann es mehrere Namen geben, die die gleiche Nummer haben und dann alle aufgelistet werden.

    Meine Frage ist - Wie mache ich sowas. Den rest der Tabellen hab ich alles hinbekommen, nur diese Suchabfrage, die mir aus einer Tabelle nur die passenden Zeilen anzeigt, die die gesuchten Namen oder Nummern enthalten.

    Kann mir da jemand helfen das zu verstehen, was ich da machen muss?

    Danke euch!

    Syl

  • Also, mein Vorhaben ist eine Tabelle, die 3 Spalten hat. - die soll komplett angezeigt werden zum Durchscrollen. (geht hier um ÖPNV Haltestellen, Nummern, Waben) Da ich das beruflich mache. - Über dieser Tabelle soll eine Suchzeile sein, die dann alle Zeilen aus der Tabelle entfernt, in der das gesuchte Wort oder Nummer nicht enthalten ist. Das am Ende also unter der Suchanfrage nur die Zeilen der Tabelle übrig bleiben, in denen das Gesuchte enthalten ist.

    Als beispiel: Eine zeile lautet dann "Hasastraße" "026" "344"

    Wenn ich nun nach "026" suche, soll die gesammte Zeile angezeigt werden, um den Namen der Haltestelle mit der Nummer "026" herauszufinden.

  • Okay, anders gesagt - Ich hab davon KEINE Ahnung. Das ist meine aller erste App, ich hab vor 3 Wochen angefangen und das erste mal Kotlin gesehen. Ich bekomme Buttons hin, Activitys, kann Scrollen, Tabellen anlegen, - das wars aber auch schon. Ich kenne den unterschied zwischen ListView oder RecyclerView nichtmal. Das ist alles völlig neu für mich.

    Ich bin also eher auf der Suche nach einer Erklärung, wie man so etwas umsetzen kann.

    Ich weiß also was ich will, aber nicht wie es geht.

    Verzeih mir meine Unwissenheit :) Bin nur eine mit dummen ideen.

  • Ich gehe mal davon aus das du die Tabelle in deinem Layout statisch hinzugefügt hast . Also für deine vielleicht 20 Einträge auch 20 Zeilen im Layout hast.

    Zeige mal dein XML Layout.


    Du willst aber dynamisch arbeiten.

    Dazu schaue dir ListView an.


    Ich persönlich bin mehr in Java zuhause als kotlin. Aber für Kotlin solten sich mittlerweile auch tutorials finden.


    Zeige mal was du jetzt hast.

  • Insgesammt hab ich mehrere listen wie diese hier. - die will ich alle nochmal in alphabetischer rheienfolge neu schreiben, das ich eine eigenständige Liste aller Haltestellen hab, (ohne doppelte und so)


    Ich weiß das ich das wahrscheinlich ziemlich umständlich mache und es bessere Methoden gibt, die ich aber noch nicht kenne.

    Dies hier ist eine Linie, Die Tabelle für die Suchanfrage soll aber ebenfalls so aussehen. - und dann die Zeilen ausgeblendet werden, die kein Teil der Suchanfrage enthalten.

    (hm kopiere ich das hier einfach rein - ich versuchs mal)

    Allein diese Tabelle scrollen zu lassen hat schon Kopfschmerzen gekostet.

  • Ok ich habe mir das Layout angesehen.

    Ist so wie ich gedacht habe statisch.


    Damit wirst du nicht das ereichen was du willst. Das geht nur mit dynamischen Listen. Ob nun ListView oder RecyclerView ist zimlich gleich.

    ListView ist für den Anfang Vileicht etwas einfacher. Das neuere RecyclerView ist etwas performanter bei sehr großen daten. Und hat ein paar mehr Möglichkeiten als ListView.


    Das meiste was du auf deinem Handy siest sind solche Listen. Zb deine Kontakte.....

    Du wirst da nicht drum rum kommen.


    Dein Prinzip ist sinnlos. Da musst du ja vorher beim Programmieren wissen wieviel Zeilen dein vermeintliche Liste hat.

    Das wird dich nie zum Ziel führen.


    Was machst du wenn ein Eintrag während der Laufzeit hinzu oder gelöscht wird?

  • Kotlin Android Custom ListView - javatpoint
    Kotlin Android Custom ListView with introduction, architecture, class, object, inheritance, interface, generics, delegation, functions, mixing java and kotlin,…
    www.javatpoint.com


    custom ListView

    How to write a custom adapter for my list view on Android using Kotlin?


    einfache ListView mit Filder

    How to create SearchView with ListView in Android Kotlin?
    First of all, We will create the XML file in this .xml file we will use SearchView and ListView.
    medium.com

  • Hey - ich hab tatsächlich erst vor 2 Wochen angefangen. Das ist alles was ich bisher an Wissen hab. Also nicht sonderlich viel.Von diesen Statischen Listen hab ich nun schon 20 geschrieben, für unterschiedliche Linein und noch etwa 40 müsste ich. Alle in untermenus. Mehr fähigkeiten hab ich noch nicht. aber dann muss ich mir diese dynamischen Listen mal anschauen irgendwie, wenn das nur so geht mit der Suche.

    Für diese Linien funktionieren die Statischen Listen auch denke ich, da ändert sich eigentlich auch nichts, Vielleicht alle 5 Jahre mal eine Nummer ändern oder sowas.

    Dann schau ich mir das mal an, mal schauen wieviel Kopfschmerzen das bereitet ;)

    Ich hörte, Wer´s kann braucht für das was ich vorhabe, vielleicht 5 6 Tage. - ich hab so 5 6 Monate geplant.

  • Hey deinen Layouts (Listen wie du sagst ) kannst du vergessen. Du hast ja nicht mal jedem Eintrag (jeder View) eine ID gegeben wie willst du im Code Kotlin darauf zugreifen.


    Bei der ListView brauchst nicht unterschiedliche Layouts du braucht dann nur die Daten ändern und das im Code Kotlin.

  • Oh - Moment.

    Dieses Layout, ist auch nur so, und kann auch Statisch bleiben.

    Ich hab ein Topmenu:

    https://i.gyazo.com/95420214ff11cb1c2b044062aa9fecfa.png

    Unter Lineinpläne liegen die ganzen Statischen Layouts

    https://i.gyazo.com/ed20a026a34b651833e25c536ecbe228.png

    Diese können auch so bleiben, da sie nur dazu dienen die Haltestellen aufzulisten, die die jeweilige Linie anfährt.


    Das Dynamische wird bei dem "Haltestellen" wichtig, da erst unter dem Menupunkt eine Suchfunktion kommen soll, bei der man nach Haltestellenname oder Nummer nach Einträgen suchen können soll.

    Ich denke ich kann auch sicher die ganzen Statischen Listen gleich mit diesem dynamischen irgendwie zusammensetzen lassen, (Würde wahrscheinlich jeder so machen, der mehr als 2 Wochen damit arbeitet), für den ersten Teil bin ich mit den statischen Layouts soweit zufrieden, da sie tatsächlich unveränderte Tabellen darstellen sollen.

    Im zweiten Menupunkt, werd ich zwar wohl alles doppelt schreiben müssen, was viele DinA4 Seiten informationen sind. Aber da werde ich um das Dynamische wohl nicht herum kommen, da hast du recht. Im moment bekomm ich dabei aber noch Hirnknoten.

  • Na das hab ich ja zB hier:

  • Die App funktioniert ja soweit. Die Menus klappen, die Linien lassen sich alle anwählen und sehen dann so aus:


    Zeigen halt die Haltestellen mit den dazugehörigen Nummern an, die von dieser Linie in dieser Reihenfolge angefahren werden.

    Das ändert sich ja auch nicht.


    Mein Problem wegen der Suche betrifft da den zweiten punkt, bei dem ich alle Haltestellen dieser Stadt in einer Tabelle aufgelistet haben möchte, zusammen mit einem Suchfeld, in das man zum beispiel eine Haltestellennummer eingeben kann, und er alles aus dieser Liste entfernt, das nicht diese Nummer hat (da es auch mehrere Haltestellen mit indentischer Nummer geben kann)


    Ja, Jede Linie hat ihren eigenen Button, unter dem die Tabelle mit den angefahrenen Haltestellen liegt.

  • Ich würd dir die App auch mal zuschicken, ist zwar völlig unfertig und beinhaltet noch nicht soooo viel, aber ja, diese Linien, U18, 102, 104 usw, sind nur tabellen zum anzeigen.

    Die interaktion für die Suche kommt im nächsten Menupunkt dann.

    Da spielen dann auch die Linein, also U18, 102, 104 und so keine Rolle mehr. Da sind die Haltestellen dann nicht mehr nach Linien sortiert, sondern ein.... inhaltsverzeichnis der Haltestellen dieser Stadt.


    Was genau meinst du, soll ich dir zur U18 zeigen?

Jetzt mitmachen!

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