Language

AlphabeticIndex クラス

定義

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

[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
継承
AlphabeticIndex
属性
実装

注釈

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。 直接使用をサポートすることも、ローカライズされた照合順序をサポートしていないクライアントで使用することもできます。 UI でのインデックスの外観の例を次に示します。

<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
             ...

このクラスは、UI の "インデックス" として使用するラベルの一覧、つまり、ユーザーがより大きな "ターゲット" リストのセグメント (バケット) を表示できるようにするクリック可能な文字 (または文字シーケンス) のリストを生成できます。 つまり、各ラベルはターゲット リスト内のバケットに対応します。バケット内のすべてが文字以上です (ロケールの照合順序に従います)。 文字列はインデックスに追加できます。それらは、適切なバケットで並べ替えられた順序になります。

このクラスでは、最初の (アンダーフロー)、最後の (オーバーフロー) の後、およびスクリプト間 (インフロー) の前に文字列のバケットを持つこともサポートされています。 たとえば、インデックスがロシア語と英語のラベルで構成されている場合、ギリシャ語の文字は他の 2 つのスクリプト間のインフロー バケットに分類されます。

<em>Note:</em> ユーザーの言語の文字だけでなく、ASCII 文字やラテン文字が多い場合は、addLabels(ULocale.English) を呼び出することをお勧めします。

<h2>Direct Use</h2>

インデックスを直接作成する例を次に示します。 "show..."以下のメソッドは、使用方法を示すためだけにあります。

// 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());
                    }

呼び出し元は、このクラスを使用して異なる UI を構築できます。 たとえば、バケットが空の場合は、インデックス文字を省略したり、灰色表示にしたりすることができます。 小さいバケットは、次のようなサイズに基づいて組み合わせることもできます。

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

<h2>Client サポート</h2>

呼び出し元は、 AlphabeticIndex.ImmutableIndexまたは AlphabeticIndex 自体を使用して、AlphabeticIndex 機能をサポートしていないクライアントでの並べ替えをサポートすることもできます。

ImmutableIndex は、不変とスレッド セーフの両方です。 対応する AlphabeticIndex メソッドは、インデックス バケットを "遅延" して構築するため、スレッド セーフではありません。 <ul><li>ImmutableIndex.getBucket(index) を使用すると、すべてのバケットとそのラベルとラベルの種類にランダムにアクセスできます。 <li>AlphabeticIndex.getBucketLabels() またはいずれかのクラスのバケット反復子を使用して、"..."、"A"、"B",...,などのラベルのリストを取得し、そのリストをクライアントに送信できます。 <li>クライアントが新しい名前を持っている場合は、その名前をサーバーに送信します。 サーバーは次のメソッドを呼び出し、bucketIndex と collationKey をクライアントに伝える必要があります。

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

<li>クライアントは bucketIndex の名前 (および関連情報) をバケットに格納します。 collationKey は、バイナリ比較と比較して適切なローカライズされた結果を生成できるバイト シーケンスです。</li></ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
AlphabeticIndex(Locale)

インデックス オブジェクトを作成します。

AlphabeticIndex(RuleBasedCollator)

特定のコレーターを使用する AlphabeticIndex を作成します。

AlphabeticIndex(ULocale)

インデックス オブジェクトを作成します。

プロパティ

名前 説明
BucketCount

インデックス内のバケットの数を返します。

BucketLabels

ラベルを取得します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Collator

内部で使用されるコレーターの複製を取得します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
InflowLabel

他のラベル 間 の省略されたバケットに使用される既定のラベルを取得します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
JniPeerMembers

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

MaxLabelCount

インデックス内のラベルの数の制限を取得します。

OverflowLabel

オーバーフローのために IndexCharacters のロケールで使用される既定のラベルを取得します。たとえば、次の最初の項目を取得します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
RecordCount

インデックス内のレコードの数 (つまり、個別の < の合計数) を返します。name,data>addRecord(.

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

(継承元 Object)
UnderflowLabel

アンダーフロー用の IndexCharacters のロケールで使用される既定のラベル (例: X Y Z 内の最後の項目) を取得します。

メソッド

名前 説明
AddLabels(Locale[])

(ロケール以外の) インデックス文字をさらに追加する

AddLabels(ULocale[])

(ロケール以外の) インデックス文字をさらに追加する

AddLabels(UnicodeSet)

(ロケール以外の) インデックス文字をさらに追加する

AddRecord(ICharSequence, Object)

レコード (名前とデータ) をインデックスに追加します。

AddRecord(String, Object)

レコード (名前とデータ) をインデックスに追加します。

BuildImmutableIndex()

データ レコードを使用せずに、このインスタンスの不変のスレッド セーフ バージョンを構築します。

ClearRecords()

インデックスをクリアします。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
Equals(Object)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetBucketIndex(ICharSequence)

指定された名前のバケット番号を取得します。

GetBucketIndex(String)

指定された名前のバケット番号を取得します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
Iterator()

バケットに対する反復子を返します。

JavaFinalize()
古い.

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetInflowLabel(String)

inflowLabel ラベルを設定する

SetMaxLabelCount(Int32)

インデックス内のラベルの数に制限を設定します。

SetOverflowLabel(String)

オーバーフロー ラベルを設定する

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
SetUnderflowLabel(String)

underflowLabel ラベルを設定する

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.Finalized()

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

AlphabeticIndex では、特定の言語に適した UI インデックスの作成がサポートされています。

ToEnumerable(IIterable)

Java IIterableを反復処理するIEnumerableを返します。これにより、foreachと LINQ をJavaコレクション型で使用できます。 各要素は、Java インスタンスから対応するマネージド型にマーシャリングされます。

ToEnumerable<T>(IIterable)

Java IIterableを反復処理し、各要素をTにマーシャリングするIEnumerable<T>を返します。 これにより、foreachと LINQ をJavaコレクション型で使用できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象