Sprache

Bidi.GetVisualRun(Int32) Methode

Definition

Ruft ein BidiRun Objekt gemäß seinem Index ab.

[Android.Runtime.Register("getVisualRun", "(I)Landroid/icu/text/BidiRun;", "GetGetVisualRun_IHandler", ApiSince=29)]
public virtual Android.Icu.Text.BidiRun? GetVisualRun(int runIndex);
[<Android.Runtime.Register("getVisualRun", "(I)Landroid/icu/text/BidiRun;", "GetGetVisualRun_IHandler", ApiSince=29)>]
abstract member GetVisualRun : int -> Android.Icu.Text.BidiRun
override this.GetVisualRun : int -> Android.Icu.Text.BidiRun

Parameter

runIndex
Int32

ist die Anzahl der Ausführung in visueller Reihenfolge im Bereich [0..countRuns()-1].

Gibt zurück

ein BidiRun-Objekt, das die Details der Ausführung enthält. Die Richtung des Laufs ist LTR==0 oder RTL==1, niemals MIXED.

Attribute

Hinweise

Ruft ein BidiRun Objekt gemäß seinem Index ab. BidiRun-Methoden können verwendet werden, um den logischen Start, die Länge und den Level des Laufs abzurufen, die sogar für eine LTR-Ausführung oder ungerade für eine RTL-Ausführung sein können. In einem RTL-Lauf befindet sich das Zeichen am logischen Start visuell rechts neben der angezeigten Ausführung. Die Länge ist die Anzahl der Zeichen in der Ausführung.

countRuns() wird normalerweise aufgerufen, bevor die Ausführung abgerufen wird.

Beispiel:

Bidi bidi = new Bidi();
             String text = "abc 123 DEFG xyz";
             bidi.setPara(text, Bidi.RTL, null);
             int i, count=bidi.countRuns(), logicalStart, visualIndex=0, length;
             BidiRun run;
             for (i = 0; i &lt; count; ++i) {
                 run = bidi.getVisualRun(i);
                 logicalStart = run.getStart();
                 length = run.getLength();
                 if (Bidi.LTR == run.getEmbeddingLevel()) {
                     do { // LTR
                         show_char(text.charAt(logicalStart++), visualIndex++);
                     } while (--length &gt; 0);
                 } else {
                     logicalStart += length;  // logicalLimit
                     do { // RTL
                         show_char(text.charAt(--logicalStart), visualIndex++);
                     } while (--length &gt; 0);
                 }
             }

Beachten Sie, dass in Rechts-nach-links-Ausführung Code wie hierhin zweite Surrogate vor den ersten (was im Allgemeinen eine schlechte Idee ist) und kombinieren Zeichen vor Basiszeichen.

Die Verwendung von {@link #writeReordered}, optional mit der {@link #KEEP_BASE_COMBINING} Option, kann berücksichtigt werden, um diese Probleme zu vermeiden.

Java Dokumentation für android.icu.text.Bidi.getVisualRun(int).

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.

Gilt für: