Sprache

AlphabeticIndex Klasse

Definition

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

[Android.Runtime.Register("android/icu/text/AlphabeticIndex", ApiSince=24, DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public sealed class AlphabeticIndex : Java.Lang.Object, IDisposable, Java.Lang.IIterable
[<Android.Runtime.Register("android/icu/text/AlphabeticIndex", ApiSince=24, DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type AlphabeticIndex = class
    inherit Object
    interface IIterable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Vererbung
AlphabeticIndex
Attribute
Implementiert

Hinweise

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist. Sie kann entweder die direkte Verwendung oder die Verwendung mit einem Client unterstützen, der keine lokalisierte Sortierung unterstützt. Im Folgenden sehen Sie ein Beispiel dafür, wie ein Index in einer Benutzeroberfläche aussehen kann:

<b>... A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  ...</b>

<b>A</b>
                Addison
                Albertson
                Azensky
<b>B</b>
                Baecker
             ...

Die Klasse kann eine Liste von Bezeichnungen generieren, die als "Index" der Benutzeroberfläche verwendet werden können, d. h. eine Liste mit klickbaren Zeichen (oder Zeichensequenzen), die es dem Benutzer ermöglichen, ein Segment (Bucket) einer größeren "Zielliste" anzuzeigen. Das heißt, jede Beschriftung entspricht einem Bucket in der Zielliste, wobei alles im Bucket größer oder gleich dem Zeichen ist (entsprechend der Gebietsschemasortierung). Zeichenfolgen können dem Index hinzugefügt werden; sie werden in der richtigen Reihenfolge im richtigen Bucket sortiert.

Die Klasse unterstützt auch das Erstellen von Buckets für Zeichenfolgen vor dem ersten (Unterlauf), nach dem letzten (Überlauf) und zwischen Skripts (Inflow). Wenn der Index beispielsweise mit Bezeichnungen für Russisch und Englisch erstellt wird, würden griechische Zeichen in einen Inflow-Bucket zwischen den anderen beiden Skripts fallen.

<em>Hinweis:</em> Wenn Sie erwarten, dass viele ASCII- oder lateinische Zeichen sowie Zeichen aus der Sprache des Benutzers vorhanden sind, empfiehlt es sich, addLabels(ULocale.English) aufzurufen.

<h2>Direct Use</h2>

Im Folgenden sehen Sie ein Beispiel für die direkte Erstellung eines Indexes. Die "Show..." Die folgenden Methoden dienen lediglich zur Veranschaulichung der Verwendung.

// Create a simple index where the values for the strings are Integers, and add the strings

            AlphabeticIndex&lt;Integer&gt; index = new AlphabeticIndex&lt;Integer&gt;(desiredLocale).addLabels(additionalLocale);
            int counter = 0;
            for (String item : test) {
                index.addRecord(item, counter++);
            }
            ...
            // Show index at top. We could skip or gray out empty buckets

            for (AlphabeticIndex.Bucket&lt;Integer&gt; bucket : index) {
                if (showAll || bucket.size() != 0) {
                    showLabelAtTop(UI, bucket.getLabel());
                }
            }
             ...
            // Show the buckets with their contents, skipping empty buckets

            for (AlphabeticIndex.Bucket&lt;Integer&gt; bucket : index) {
                if (bucket.size() != 0) {
                    showLabelInList(UI, bucket.getLabel());
                    for (AlphabeticIndex.Record&lt;Integer&gt; item : bucket) {
                        showIndexedItem(UI, item.getName(), item.getData());
                    }

Der Aufrufer kann verschiedene UIs mit dieser Klasse erstellen. Ein Indexzeichen kann beispielsweise weggelassen oder abgeblend sein, wenn sein Bucket leer ist. Kleine Buckets können auch basierend auf der Größe kombiniert werden, z. B.:

<b>... A-F G-N O-Z ...</b>

<h2-Clientsupport></h2>

Aufrufer können auch das AlphabeticIndex.ImmutableIndexAlphabeticIndex selbst verwenden, um die Sortierung auf einem Client zu unterstützen, der die AlphabeticIndex-Funktionalität nicht unterstützt.

Der unveränderliche Index ist sowohl unveränderlich als auch threadsicher. Die entsprechenden AlphabeticIndex-Methoden sind nicht threadsicher, da sie "lazily" die Index-Buckets erstellen. <ul><li>ImmutableIndex.getBucket(index) bietet zufälligen Zugriff auf alle Buckets und deren Bezeichnungstypen. <li>AlphabeticIndex.getBucketLabels() oder der Bucket-Iterator für eine der Klassen kann verwendet werden, um eine Liste der Bezeichnungen abzurufen, z. B. "...", "A", "B",..., und diese Liste an den Client zu senden. <li>Wenn der Client einen neuen Namen hat, sendet er diesen Namen an den Server. Der Server muss die folgenden Methoden aufrufen und den bucketIndex und den CollationKey zurück an den Client kommunizieren.

int bucketIndex = index.getBucketIndex(name);
            String label = immutableIndex.getBucket(bucketIndex).getLabel();  // optional
            RawCollationKey collationKey = collator.getRawCollationKey(name, null);

<li>Der Client würde den Namen (und die zugehörigen Informationen) in seinen Bucket für bucketIndex einfügen. Der CollationKey ist eine Abfolge von Bytes, die mit einem binären Vergleich verglichen werden können, und das richtige lokalisierte Ergebnis erzeugen.</li></ul>

Java Dokumentation für android.icu.text.AlphabeticIndex.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
AlphabeticIndex(Locale)

Erstellen Sie das Indexobjekt.

AlphabeticIndex(RuleBasedCollator)

Erstellen Sie einen AlphabeticIndex, der einen bestimmten Sortierer verwendet.

AlphabeticIndex(ULocale)

Erstellen Sie das Indexobjekt.

Eigenschaften

Name Beschreibung
BucketCount

Gibt die Anzahl der Buckets im Index zurück.

BucketLabels

Rufen Sie die Bezeichnungen ab.

Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Collator

Rufen Sie einen Klon des intern verwendeten Sortierer ab.

Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
InflowLabel

Rufen Sie die Standardbezeichnung ab, die für gekürzte Buckets zwischen anderen Bezeichnungen verwendet wird.

JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
JniPeerMembers

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

MaxLabelCount

Rufen Sie den Grenzwert für die Anzahl der Bezeichnungen im Index ab.

OverflowLabel

Rufen Sie die Standardbezeichnung ab, die im Gebietsschema von IndexCharacters für den Überlauf verwendet wird, z. B. das erste Element in: .

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(Geerbt von Object)
RecordCount

Gibt die Anzahl der Datensätze im Index zurück: d. h. die Gesamtanzahl unterschiedlicher < Name,Daten> Mit "addRecord() hinzugefügte Paare".

ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
UnderflowLabel

Rufen Sie die Standardbezeichnung ab, die im Gebietsschema von IndexCharacters für den Unterlauf verwendet wird, z. B. das letzte Element in: X Y Z .

Methoden

Name Beschreibung
AddLabels(Locale[])

Hinzufügen weiterer Indexzeichen (abgesehen davon, was sich im Gebietsschema befinden)

AddLabels(ULocale[])

Hinzufügen weiterer Indexzeichen (abgesehen davon, was sich im Gebietsschema befinden)

AddLabels(UnicodeSet)

Hinzufügen weiterer Indexzeichen (abgesehen davon, was sich im Gebietsschema befinden)

AddRecord(ICharSequence, Object)

Fügen Sie dem Index einen Datensatz (Name und Daten) hinzu.

AddRecord(String, Object)

Fügen Sie dem Index einen Datensatz (Name und Daten) hinzu.

BuildImmutableIndex()

Erstellt eine unveränderliche, threadsichere Version dieser Instanz ohne Datensätze.

ClearRecords()

Löschen Sie den Index.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
Equals(Object)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
Equals(Object)

Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist.

(Geerbt von Object)
GetBucketIndex(ICharSequence)

Rufen Sie die Bucketnummer für den angegebenen Namen ab.

GetBucketIndex(String)

Rufen Sie die Bucketnummer für den angegebenen Namen ab.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
Iterator()

Gibt einen Iterator über die Buckets zurück.

JavaFinalize()
Veraltet.

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetInflowLabel(String)

Festlegen der InflowLabel-Bezeichnung

SetMaxLabelCount(Int32)

Legen Sie einen Grenzwert für die Anzahl der Bezeichnungen im Index fest.

SetOverflowLabel(String)

Festlegen der Überlaufbezeichnung

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
SetUnderflowLabel(String)

Festlegen der Bezeichnung "underflowLabel"

ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

(Geerbt von JavaObject)
IJavaPeerable.UnregisterFromRuntime()

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

AlphabeticIndex unterstützt die Erstellung eines Benutzeroberflächenindexes, der für eine bestimmte Sprache geeignet ist.

ToEnumerable(IIterable)

Gibt einen IEnumerable Wert zurück, der eine Java IIterabledurchläuft, sodass foreach LINQ mit Java Auflistungstypen verwendet werden kann. Jedes Element wird von seiner Java Instanz an den entsprechenden verwalteten Typ gemarstet.

ToEnumerable<T>(IIterable)

Gibt einen IEnumerable<T> Wert zurück, der eine Java IIterabledurchläuft, wobei jedes Element gemarstet wirdT. Dadurch kann foreach LINQ mit Java Sammlungstypen verwendet werden.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: