it-swarm.com.de

Android Alphabetische Listen

Angenommen, ich habe eine Liste mit vielen Elementen. Jedes Element ist eine Textzeile, die der Benutzer auswählen kann. Im Durchschnitt enthält die Liste etwa 750 Elemente (obwohl sie bis zu 1.000 umfassen können).

Anstatt diese Liste in einer großen Listenansicht anzuzeigen, möchte ich dem Benutzer die Möglichkeit geben, alphabetisch zu navigieren, sodass nur Elemente angezeigt werden, die mit A beginnen. und dann könnte der Benutzer zu B , C usw. gehen.

Ich habe überlegt, einen Spinner über die Listenansicht (mit A ... Z) zu setzen, wobei der Inhalt der Listenansicht basierend auf der aktuellen Auswahl des Spinners gefiltert wird. Ich habe jedoch festgestellt, dass dies für den Benutzer sehr ärgerlich sein kann (jede Änderung des Alphabets im Spinner erfordert mindestens 2 Klicks plus Wischen nach unten für bestimmte Buchstaben).

Was wäre ein besserer Weg, um die gleiche Funktionalität zu erreichen und gleichzeitig benutzerfreundlich zu sein?

4
yydl

Das häufigste Muster für große, alphabetisch geordnete Listen besteht darin, eine einzelne Liste bereitzustellen mit:

  • Abschnittsüberschriften (z. B. 'A', 'B', 'C' usw.), die beim Scrollen optional oben angeheftet werden.
  • Ein automatisch ausgeblendeter dicker 'Scroll-Daumen' für schnelles Scrollen.
  • Ein Mechanismus zum Filtern der Liste, z. B. durch Bereitstellen eines Suchfelds über oder in der Nähe der Liste oder durch Bereitstellen eines kontextbezogenen Aktionsmenüelements oder einer kontextbezogenen Schaltfläche "Suchen".

Das beste Beispiel für diese Implementierung ist die Standardanwendung "Kontakte". Hier ein kurzer Screenshot:

Kontaktanwendung http://dandroidtabletpc.com/wp-content/uploads/2011/08/Android-Contact.png

Und hier ist ein Screenshot des dicken Scroll-Daumens:

Thick scroll thumb

Beachten Sie, dass dies nicht die einzig mögliche Lösung ist, aber eine der einfachsten und prägnantesten Lösungen.


Entwicklerhinweise :

  • Für den dicken Scroll-Daumen siehe Android: fastScrollEnabled .
  • Informationen zum alphabetischen Aufteilen eines Cursors finden Sie unter AlphabetIndexer .
  • Ein Beispiel zum Schreiben von Abschnittsüberschriften finden Sie unter cwac-merge at CommonsWare Android Componenets .
  • Stellen Sie sicher, dass Sie das View-Recycling und keine umfangreichen Vorgänge im UI-Thread nutzen, um einen reibungslosen Bildlauf zu gewährleisten.
5
Roman Nurik

Sie haben verschiedene Muster, um eine große Menge an Inhalten anzuzeigen häufig in Android verwendet.

Sie können Optionen gruppieren (eine anfängliche Liste von AZ-Buchstaben anzeigen), eine Reihe von Registerkarten, die horizontal scrollen, über die Liste setzen und eine Suchleiste zum Filtern von Ergebnissen bereitstellen. Ein wirksamer Mechanismus besteht jedoch darin, alle Elemente anzuzeigen und Geben Sie einen Daumen an , um die Suche zu vereinfachen.

4
Pau Giner

Eine gute Lösung, die ich gefunden habe, um eine große Datenmenge zur Auswahl in minimalen Bildschirmflächen zur Verfügung zu stellen, während sie dennoch sehr benutzerfreundlich ist, ist AutoCompleteTextView.

Ich habe dies erfolgreich für eine Länderauswahl auf der Grundlage einer Liste von einigen hundert verkabelt. Mit einer benutzerdefinierten Implementierung von AutoCompleteTextView.Validator können Sie sicherstellen, dass nur gültige Datensätze ausgewählt sind, und sie im Grunde wie einen riesigen Spinner behandeln, der gefiltert/durchsucht werden kann.

0
Manfred Moser