¿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.

One Solution collect form web for “¿Cuál es el papel de "isViewFromObject (View view, Object object)" en FragmentStatePagerAdapter?”

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; } 
  • Iniciar animación cuando el fragmento es visible en ViewPager
  • Barra de Acción de Android Sherlock con Tabs
  • OnPrepareOptionsMenu no se llama
  • Animación personalizada para viewpager
  • ¿Qué está mal con este código para usar ViewPager?
  • ¿Cómo puedo hacer que mi botón haga algo en Fragments, ViewPager
  • Cómo hacer que mi viewpager pase de derecha a izquierda
  • Pestañas de Acción
  • Comprobar fragmento está visible o no en android?
  • Android ViewPager Excepción después de pulsar el botón Atrás
  • ViewPager dentro de ScrollView - el desplazamiento vertical no funciona
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.