View.OnProvideAutofillStructure(ViewStructure, AutofillFlags) Método

Definición

Rellena un ViewStructure objeto para rellenar una solicitud de autorrellenar.

[Android.Runtime.Register("onProvideAutofillStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)]
public virtual void OnProvideAutofillStructure(Android.Views.ViewStructure? structure, Android.Views.AutofillFlags flags);
[<Android.Runtime.Register("onProvideAutofillStructure", "(Landroid/view/ViewStructure;I)V", "GetOnProvideAutofillStructure_Landroid_view_ViewStructure_IHandler", ApiSince=26)>]
abstract member OnProvideAutofillStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit
override this.OnProvideAutofillStructure : Android.Views.ViewStructure * Android.Views.AutofillFlags -> unit

Parámetros

structure
ViewStructure

rellene con datos de vista estructurados con fines de autorrellenar.

flags
AutofillFlags

marcas opcionales.

Atributos

Comentarios

Rellena un ViewStructure objeto para rellenar una solicitud de autorrellenar.

La estructura debe contener al menos las siguientes propiedades: <ul><li>Autofill id (ViewStructure#setAutofillId(AutofillId, int)). <li>Autofill type (ViewStructure#setAutofillType(int)). <li>Autofill value (ViewStructure#setAutofillValue(AutofillValue)). <li>Si los datos son confidenciales (ViewStructure#setDataIsSensitive(boolean)). </ul>

También se recomienda establecer las siguientes propiedades: cuantos más propiedades tenga la estructura, mayor será la probabilidad de usar android.service.autofill.AutofillService correctamente la estructura:

<ul><li>Autofill hints (ViewStructure#setAutofillHints(String[])). <li>Autorrellenar opciones (ViewStructure#setAutofillOptions(CharSequence[])) cuando la vista solo se puede rellenar con valores predefinidos (normalmente se usa cuando el tipo de autorrellenar es #AUTOFILL_TYPE_LIST). <li>Resource id (ViewStructure#setId(int, String, String, String)). <li Nombre de clase>(ViewStructure#setClassName(String)). <li>Content description (ViewStructure#setContentDescription(CharSequence)). <li>Propiedades visuales, como visibilidad (ViewStructure#setVisibility(int)), dimensiones (ViewStructure#setDimens(int, int, int, int, int, int)) y opacidad (ViewStructure#setOpaque(boolean)). <li>Para vistas que representan campos de texto, propiedades de texto como el propio texto (ViewStructure#setText(CharSequence)), sugerencias de texto (ViewStructure#setHint(CharSequence), tipo de entrada (ViewStructure#setInputType(int)), <li>Para vistas que representan nodos HTML, su dominio web (ViewStructure#setWebDomain(String)) y propiedades HTML ((ViewStructure#setHtmlInfo(android.view.ViewStructure.HtmlInfo)). </ul>

La implementación predeterminada de este método ya establece la mayoría de estas propiedades en función de los métodos relacionados View (por ejemplo, el identificador de autorrellenar se establece mediante #getAutofillId(), el conjunto de tipos de autorrellenar mediante #getAutofillType(), etc.) y las vistas de la biblioteca estándar de widgets de Android también lo invalidan para establecer sus propiedades pertinentes (por ejemplo, android.widget.TextView ya establece las propiedades de texto), por lo que se recomienda reemplazar solo este método (y llamar super.onProvideAutofillStructure()a ) cuando:

<ul><li>El contenido de la vista no incluye PII (información de identificación personal), por lo que puede llamar a ViewStructure#setDataIsSensitive(boolean) pasar false. <li>La vista solo se puede rellenar automáticamente con opciones predefinidas, por lo que puede llamar a ViewStructure#setAutofillOptions(CharSequence[]). </ul>

<b>Nota:</b> Los left valores y top establecidos en ViewStructure#setDimens(int, int, int, int, int, int) deben ser relativos a la siguiente ViewGroup#isImportantForAutofill() vista predecesora incluida en la estructura.

Las vistas admiten el marco de autorrellenamiento principalmente por: <ul><li>Proporcionando los metadatos que definen lo que significa la vista y cómo se puede rellenar automáticamente. <li>Notificar al sistema Android cuando el valor de vista ha cambiado llamando a AutofillManager#notifyValueChanged(View). <li>Implementación de los métodos que rellenan automáticamente la vista. </ul>

Este método es responsable del primero; #autofill(AutofillValue) es responsable de este último.

Java documentación para android.view.View.onProvideAutofillStructure(android.view.ViewStructure, 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