AlphabeticIndex Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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<Integer> index = new AlphabeticIndex<Integer>(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<Integer> bucket : index) {
if (showAll || bucket.size() != 0) {
showLabelAtTop(UI, bucket.getLabel());
}
}
...
// Show the buckets with their contents, skipping empty buckets
for (AlphabeticIndex.Bucket<Integer> bucket : index) {
if (bucket.size() != 0) {
showLabelInList(UI, bucket.getLabel());
for (AlphabeticIndex.Record<Integer> 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| 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 |
| ToEnumerable<T>(IIterable) |
Gibt einen IEnumerable<T> Wert zurück, der eine Java IIterabledurchläuft, wobei jedes Element gemarstet wird |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |