Lenguaje

Bidi.GetVisualRun(Int32) Método

Definición

Obtiene un BidiRun objeto según su índice.

[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

Parámetros

runIndex
Int32

es el número de la ejecución en orden visual, en el intervalo [0..countRuns()-1].

Devoluciones

un objeto BidiRun que contiene los detalles de la ejecución. La direccionalidad de la ejecución es LTR==0 o RTL==1, nunca MIXED.

Atributos

Comentarios

Obtiene un BidiRun objeto según su índice. Los métodos BidiRun se pueden usar para recuperar el inicio lógico, la longitud y el nivel de la ejecución, que pueden ser incluso para una ejecución LTR o impar para una ejecución RTL. En una ejecución RTL, el carácter del inicio lógico está visualmente a la derecha de la ejecución mostrada. La longitud es el número de caracteres de la ejecución.

countRuns() normalmente se llama a antes de recuperar las ejecuciones.

Ejemplo:

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

Tenga en cuenta que, en ejecuciones de derecha a izquierda, el código como este coloca los segundos suplentes antes de los primeros (que generalmente es una mala idea) y la combinación de caracteres antes de los caracteres base.

El uso de {@link #writeReordered}, opcionalmente con la {@link #KEEP_BASE_COMBINING} opción , se puede considerar para evitar estos problemas.

Java documentación para android.icu.text.Bidi.getVisualRun(int).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a