FindViewById devuelve null en una vista <include>

Vamos directamente al código.

Código de actividad, método onCreate

setContentView(R.layout.main); View main_view = findViewById(R.id.main_view); View view_flipper = main_view.findViewById(R.id.vf); View first_tab = view_flipper.findViewById(R.id.prev_pane); 

El código de diseño main.xml:

 <ViewFlipper android:id="@+id/vf" android:layout_width="fill_parent" android:layout_height="fill_parent" > <include android:id="@+id/prev_pane" layout="@layout/vf_inner" /> <include android:id="@+id/cur_pane" layout="@layout/vf_inner" /> <include android:id="@+id/next_pane" layout="@layout/vf_inner" /> </ViewFlipper> 

¡El problema! Vista principal se encuentra correctamente, por lo que es ViewFlipper, pero prev_pane o cur_pane o next_pane no se encuentran, un puntero nulo se devuelve. ¿Alguna idea por qué?

Esta actividad se llama a través de una pestaña mediante un Intent. Todas las referencias se resuelven correctamente excepto que el id en incluye

Cuando inspecciono variables, encuentro los contenidos de vf_inner layout en mChildren

Esto se debe a que las etiquetas <include /> no son una vista real en la jerarquía de la interfaz de usuario. Son más de una copia y pega instrucciones para las herramientas de Android.

Si desea encontrar los paneles en tiempo de ejecución, agregue los ID a los elementos raíz de los diseños incluidos. De esta manera se pueden encontrar a través de findViewById() .

Una cosa que puedes hacer es envolver las sentencias <include> dentro de un diseño padre (que sigue siendo un niño de tu diseño padre principal). Dale a esas vistas diferentes ids para que puedas findViewById cada uno de ellos por separado.

  • La animación de Viewflipper no funciona en el primer golpe
  • Cómo mantener la vista actual en ViewFlipper al cambiar la orientación
  • Android Cómo llamar a OnFling cuando Swiping en cualquier lugar de la actividad no sólo en el ViewFlipper
  • Android ViewFlipper + Detector de gestos
  • Error de cursor Android: "asegúrese de que el cursor se inicialice correctamente antes de acceder a los datos de él ..."
  • Golpe de Monodroid
  • Implementación del transformador de página de alejamiento de Android para un ViewFlipper
  • ViewPager con límites de páginas anteriores y siguientes
  • Habilitar EditarTexto desplazable dentro de ScrollView y ViewFlipper
  • Problema de superposición de texto en ViewFlipper ..
  • ¿Cuándo usar un ViewFlipper o una nueva actividad?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.