Android instanceof detectar todos los widgets?

Estoy intentando fijar una fuente a través de todos los TextView 's por LinearLayout través de las LinearLayout de LinearLayout y using instanceof .

El formulario actualmente consta de 4 TextView y un Button .

El siguiente código está detectando todas las View s, incluso el Button como TextView ?

  /* Set fonts */ LinearLayout ll = (LinearLayout) findViewById(R.id.ll_screenincourse_wrapper); for (int i = 0; i < ll.getChildCount(); i++) { View v = ll.getChildAt(i); if (v instanceof TextView) { ((TextView) v).setTypeface(Fonts.get3dDumbFont(this)); } } 

Si registro el nombre de clase de cada vista, devuelve el TextView y el Botón, así que sé que se están recuperando los controles correctos.

El problema es que las fuentes de Button y TextView se están configurando, y sólo quiero las de TextView .

He encontrado un trabajo alrededor y que es hacer lo siguiente, pero estoy intrigado por qué el código anterior no funciona como se espera.

  /* Set fonts */ LinearLayout ll = (LinearLayout) findViewById(R.id.ll_screenincourse_wrapper); for (int i = 0; i < ll.getChildCount(); i++) { View v = ll.getChildAt(i); if (v.getClass().getName().contains("TextView")) { ((TextView) v).setTypeface(Fonts.get3dDumbFont(this)); } } 

¿Es porque tanto Button como TextView son del tipo View ? Si es así, ¿cuál sería la manera correcta de hacer esto?

Cualquier ayuda apreciada, gracias. Ricky.

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