Diferencia entre los métodos onCreateView y onBindView de Preferencia

¿Cuál es la diferencia entre los métodos onCreateView y onBindView en Preferencia?

En la documentación dice que onBindView :

Vincula la Vista creada a los datos de esta Preferencia. Este es un buen lugar para capturar referencias a vistas personalizadas en el diseño y establecer propiedades en ellas.

¿Por qué es un buen lugar para establecer propiedades en vistas en mi diseño? Actualmente estoy estableciendo propiedades en el método onCreateView y todo parece funcionar bien. Desde mi experiencia parece que ambos métodos siempre se llaman juntos. Tal vez hay algunas situaciones cuando sólo onBindView se llama?

onCreateView() es para crear la jerarquía View que eventualmente contendrá la interfaz de usuario de preferencias. onBindView() es para enlazar datos reales a esa jerarquía View creada en onCreateView() .

El patrón separa la creación de la jerarquía Ver – que se almacena en caché – desde el enlace de datos a esa jerarquía Vista. En el caso de Preferencia, onCreateView() sólo se llama una vez, pero onBindView() se llama cada vez que la interfaz de usuario necesita cargar la vista de preferencias.

Supongo que su configuración actual funciona porque nunca cambia las propiedades que establece en la preferencia. Sería mejor configurar las propiedades de la jerarquía View en onBindView() , en caso de que alguna vez tenga que ser dinámico.

(Aparte, este patrón de diseño de creación de vista vs. vinculante también se ve en CursorAdapters , donde sólo crea suficientes vistas para mostrar en la pantalla, pero vincula constantemente estas vistas a nuevos datos).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.