¿Cuál es el papel de "isViewFromObject (View view, Object object)" en FragmentStatePagerAdapter?

Estoy usando un FragmentStatePagerAdapter con mi View Pager. El Fragmento devuelto no se muestra en la pantalla si isViewFromObject (View view, Object object) devuelve false . ¿Porqué es eso?
El programador doc dice Determines whether a page View is associated with a specific key object as returned by instantiateItem(ViewGroup, int). This method is required for a PagerAdapter to function properly. Determines whether a page View is associated with a specific key object as returned by instantiateItem(ViewGroup, int). This method is required for a PagerAdapter to function properly. Pero no estoy claro con esta definición.

El método instantiateItem(ViewGroup, int) devuelve Object para una vista en particular. PagerAdapter implementación de PagerAdapter considera este Object como un valor de key cuando viewpager cambia una página.

Por lo tanto, si devolvemos la vista desde instantiateItem(ViewGroup, int) , entonces nuestra key para esa página se convierte en la vista misma. Podemos comprobar la return view == object; Desde isViewFromObject (View view, Object object) que siempre devolverá true y nuestras páginas mostrarán:

 public boolean isViewFromObject(View view, Object object) { return view == object; } 

Más información sobre el post https://stackoverflow.com/a/16772250/1994950 :

Cuando desliza ViewPager obtiene la posición de la vista desde la matriz o la ejemplifica y compara esta vista con los niños de ViewPager con el método de los adaptadores public boolean isViewFromObject(View view, Object object) . Ver que es igual a objeto se muestra al usuario en ViewPager . Si no hay ninguna vista, se mostrará la pantalla en blanco.

Aquí está el método ViewPager donde se compara la vista con el objeto:

 ItemInfo infoForChild(View child) { for (int i=0; i<mItems.size(); i++) { ItemInfo ii = mItems.get(i); if (mAdapter.isViewFromObject(child, ii.object)) { return ii; } } return null; } 
  • Infinite ViewPager
  • ViewPager y fragmentos - ¿cuál es la forma correcta de almacenar el estado del fragmento?
  • FragmentPagerAdapter no se puede resolver con un tipo
  • Las pestañas de TabLayout no se muestran
  • Fragmentos dentro de ViewPager no se destruyen
  • Llame a actvity después de que el viewpager haya terminado
  • Después de la rotación, la transacción de fragmentos da IllegalStateException
  • Android Poner la animación en la página de desplazamiento en la vista paginador utilizando fragmento
  • Cuando se utiliza ViewPager con Fragmentos, los fragmentos se destruyen al deslizar
  • Tratamiento de fragmento y ver paginador: no se puede cambiar la etiqueta de fragmento AND Entrada recursiva para ejecutarPendingTransactions
  • Cómo deslizar las pestañas dentro de un fragmento de cajón de navegación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.