Пропустить все дочерние элементы GroupView?

Вот мой код:

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/choco.ttf"); ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content).getRootView(); for(int i = 0; i < rootView.getChildCount(); i++) { View child = rootView.getChildAt(i); Log.d("menfis", child.toString()); if(child != null) if(child.getClass() == TextView.class) ((TextView) child).setTypeface(font); } 

Вот мой XML для этой страницы:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background_page" android:gravity="center_horizontal" > <ImageView android:id="@+id/imgApplicationIcon" android:src="@drawable/logo" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <TextView android:layout_marginTop="40dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:textColor="@color/red" android:lines="2" android:layout_marginRight="30dip" android:text="test1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginRight="30dip" android:textColor="@color/red" android:lines="2" android:text="test2" /> </LinearLayout> 

Проблема в том, что я получаю это только на консоли LogCat:

 09-20 14:34:27.264: DEBUG/menfis(12251): android.widget.LinearLayout@40523820 

Почему я не получаю ссылки на TextViews?

Необходимо рекурсивно перемещаться по дереву. В настоящее время вы представляете только список корневого представления.

Другими словами, вам нужно что-то вроде этого:

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ... Typeface font = Typeface.createFromAsset(getAssets(), "fonts/choco.ttf"); ViewGroup rootView = (ViewGroup) findViewById(android.R.id.content).getRootView(); applyFontRecursively(rootView, font); } void applyFontRecursively(ViewGroup parent, Typeface font) { for(int i = 0; i < parent.getChildCount(); i++) { View child = parent.getChildAt(i); if(child instanceof ViewGroup) { applyFontRecursively((ViewGroup)child, font); } else if(child != null) { Log.d("menfis", child.toString()); if(child.getClass() == TextView.class) { ((TextView) child).setTypeface(font); } } } }