Android ViewAnimator / ViewFlipper / ViewSwitcher y valor de hardcoded para setDisplayedChild

Voy a trabajar con uno de los siguientes:

  • ViewAnimator
  • ViewFlipper
  • ViewSwitcher

Todos ellos tienen un método setDisplayedChild para cambiar una vista de uno a otro.

El único argumento de ese método es int whichChild – un número de vista en la cola de vistas.

¿Es posible trabajar con cualquier tipo de números no codificados?

Quiero poder llamar a:

 setDisplayedChild(R.id.SettingsView) 

en lugar de:

 setDisplayedChild(3) 

2 Solutions collect form web for “Android ViewAnimator / ViewFlipper / ViewSwitcher y valor de hardcoded para setDisplayedChild”

Puede utilizar el método indexOfChild (Ver hijo):

 viewAnimator.setDisplayedChild( viewAnimator.indexOfChild( findViewById(R.id.SettingsView) ) ); 

Estas clases son sólo extensiones de ViewGroup que mantienen la lista secundaria en y la matriz de View.

Podrías ampliar fácilmente cualquier cosa que quieras ver a través de la lista de vistas para la Id. (Sigue un código no probado)

 class myFlipper extends ViewFlipper { public myFlipper(Context context) { super(context); } int getChildById(int id) { int childindex = -1; int i = 0; while (i<getChildCount()) { View v = getChildAt(i); if (v.getId()==id) { childindex = i; break; } i++; } return childindex; } void setDisplayedChildById(int id) { int i = getChildById(id); if (i != -1) { setDisplayedChild(i); } } } 
  • ¿Rellenar ListFragments con una vista personalizada?
  • Android WebView: bloqueo tras la carga de url
  • Diferente ancho de diseño dentro de RecyclerView y LinearLayout normal
  • Optimizaciones de Scrollview
  • Cómo obtener el nombre de la imagen de ImageView en Android?
  • ¿Cómo se basan las coordenadas de un Android onTouchEvent MotionEvent?
  • Vista de visualización en la parte superior de la barra de acción
  • Registrarse en la transmisión local dentro de una vista personalizada
  • ¿Cómo replicar el botón de acción flotante Inbox (con texto para cada botón secundario)?
  • Los contenidos de CardView no respetan match_parent
  • Android WebView ZoomManager.onSizeChanged NullPointerException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.