¿Configurar una fuente de texto en el widget de la pestaña de Android no funciona?

Estoy intentando cambiar la fuente del texto en una de las actividades de un diseño de pestaña. Estoy usando una fuente personalizada. Pero la fuente no funciona. para una de mis clases, cuando cambio a esa pestaña, obtengo un error del depurador de eclipse, pero parece que no hay absolutamente nada de malo en mi código. Este es el código que está fallando

public class YearThreeActivity extends Activity{

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.yearthree);

    /*without the next three lines the tab view works fine */

    TextView tv=(TextView)findViewById(R.id.yearthree_view);//<-- debugger says this assignment is null but which shouldn't be the case as the R class has that in the id subclass.
    Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/Century_Gothic.ttf"); 
    tv.setTypeface(font);
}

}

Sin embargo, esta actividad tiene prácticamente lo mismo y cuando cambio a esta pestaña funciona

public class StatsActivity extends Activity{

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    this.setContentView(R.layout.stats);

    TextView tv=(TextView)findViewById(R.id.stats_view);  
    Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/Century_Gothic.ttf"); 
    tv.setTypeface(font);

     }
}

He estado en esto durante horas comprobando. Los archivos de manifiesto xml, los archivos de diseño, todo es igual con ambos, sin embargo, el primero no funciona ... Estoy aquí como último recurso ...:

preguntado el 27 de agosto de 11 a las 23:08

2 Respuestas

Cuando uso pestañas, normalmente solo oculto la etiqueta del widget de pestaña configurando la visibilidad de Android como desaparecida.

Y agregue botones para que actúen como botones de pestañas como

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" 
        android:layout_height="fill_parent">       
        <FrameLayout android:id="@android:id/tabcontent" 
            android:layout_width="fill_parent" android:layout_height="0dip"
            android:layout_weight="1.0"/>
        <FrameLayout android:layout_width="fill_parent" 
            android:layout_height="wrap_content">
            <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:visibility="gone"/>
            <LinearLayout android:layout_width="fill_parent" 
                android:layout_height="64dip">
                <Button android:layout_height="fill_parent" android:layout_width="0dip" 
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists" 
                    android:id="@+id/artist_id" android:onClick="tabHandler"/>
                <Button android:layout_height="fill_parent" android:layout_width="0dip" 
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists" 
                    android:id="@+id/album_id" android:onClick="tabHandler"/>
                <Button android:layout_height="fill_parent" android:layout_width="0dip"     
                    android:layout_weight="1.0"
                    android:background="@drawable/ic_tab_artists" 
                    android:id="@+id/song_id" android:onClick="tabHandler"/>
            </LinearLayout> 
        </FrameLayout>
    </LinearLayout>
</TabHost>

y agrego un controlador de clic de botón

public void tabHandler(View target){
    artistButton.setSelected(false);
    albumButton.setSelected(false);
    songButton.setSelected(false);
    if(target.getId() == R.id.artist_id){
        tabHost.setCurrentTab(0);
        artistButton.setSelected(true);
    } else if(target.getId() == R.id.album_id){
        tabHost.setCurrentTab(1);
        albumButton.setSelected(true);
    } else if(target.getId() == R.id.song_id){
        tabHost.setCurrentTab(2);
        songButton.setSelected(true);
    }
}

Cuando utilizo este método, me da más libertad para diseñar los botones de las pestañas.

Respondido 28 ago 11, 10:08

Lo arreglé. Tenía que ver con la forma en que di textViews en las identificaciones de mi aplicación. Ellos coincidieron

Respondido el 02 de Septiembre de 11 a las 16:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.