Wie erstellt man eine alphabetische Bildlaufleiste mit allen Buchstaben in Android?

Mein Zweck ist, um etwas zu bekommen, wie, dass :
Wie erstellt man eine alphabetische Bildlaufleiste mit allen Buchstaben in Android?

Aber die einzigen Beispiele, die ich finden kann, sind Listen wie die, dass :
android - listview fastscroll mit alphabet wie auf dem iPhone-Kontakte-Aktivität

Offensichtlich, ich will nicht eine Liste wie die Kontakte angezeigt werden die Briefe, wenn Sie fastscroll. Ich weiß, wie dies zu tun.

Alle Zeiger wäre willkommen.
(Ich habe versucht, diese aber ohne Erfolg),

Unten die vollständige Lösung vorschlagen, die von FunkTheMonk (vielen Dank) :

Definieren die listview als üblich. Definieren Sie ein RelativeLayout mit der ListView und auf der rechten Seite, eine LinearLayout mit allen Buchstaben. Für eine bessere Lösung, die Liste der Buchstaben könnte sich dynamisch generiert werden, um nur die Anzeige der Buchstaben in der Liste. Dann in der onClick-Methode, Beurteilung des Verhaltens, um durch die Liste scrollen :

xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginRight="28dip" />

    <LinearLayout android:orientation="vertical"
        android:layout_width="28dip" android:layout_height="wrap_content"
        android:layout_alignParentRight="true" android:background="@android:color/transparent" >

        <TextView android:id="@+id/A" android:text="A" android:tag="A"
            style="@style/alphabetTextView"/>
        <TextView android:id="@+id/B" android:text="B" android:tag="B"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/C" android:text="C" android:tag="C"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/D" android:text="D" android:tag="D"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/E" android:text="E" android:tag="E"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/F" android:text="F" android:tag="F"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/G" android:text="G" android:tag="G"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/H" android:text="H" android:tag="H"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/I" android:text="I" android:tag="I"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/J" android:text="J" android:tag="J"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/K" android:text="K" android:tag="K"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/L" android:text="L" android:tag="L"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/M" android:text="M" android:tag="M"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/N" android:text="N" android:tag="N"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/O" android:text="O" android:tag="O"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/P" android:text="P" android:tag="P"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/Q" android:text="Q" android:tag="Q"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/R" android:text="R" android:tag="R"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/S" android:text="S" android:tag="S"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/T" android:text="T" android:tag="T"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/U" android:text="U" android:tag="U"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/V" android:text="V" android:tag="V"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/W" android:text="W" android:tag="W"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/X" android:text="X" android:tag="X"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/Y" android:text="Y" android:tag="Y"
            style="@style/alphabetTextView" />
        <TextView android:id="@+id/Z" android:text="Z" android:tag="Z"
            style="@style/alphabetTextView" />

    </LinearLayout>
</RelativeLayout>

Java

@Override
public void onClick(View v) {
    String firstLetter = (String) v.getTag();
    int index = 0;
    if (stringList != null) {
        for (String string : stringList) {
            if (string.startsWith(firstLetter)) {
                index = stringList.indexOf(string);
                break;
            }
        }
    }
    lv.setSelectionFromTop(index, 0);
}
Kommentar zu dem Problem
check meine Antwort hier stackoverflow.com/questions/7994959/... Kommentarautor: Lalit Poptani
Hi, vielen Dank für die Beantwortung, aber das zeigt, wie viel zu tun-Header, das ist nicht das, was ich brauche... Überprüfen Sie das Bild. Was ich möchte ist eine Liste der Buchstaben auf der rechten Seite, wenn ich auf eins, wird die Liste scrollen, die das erste element mit diesem Anfangsbuchstaben. Kommentarautor: Sephy
@Sephy, ich bin nicht immer das onClick-Ereignis, können Sie bitte mir erklären wie es funktioniert? Kommentarautor: Pratik Dasa
haben Blick auf das tutorial stackoverflow.com/a/39295074/5305430 Kommentarautor: sushildlh

InformationsquelleAutor der Frage Sephy | 2011-11-19

Schreibe einen Kommentar