Problemas con el ejemplo de Android TabHost

He estado intentando implementar el ejemplo de widgetw ‘avanzado’ de google. Pero, cuando intenta llamar a tabHost.addTab(spec); Obtengo un seguimiento de la stack del depurador. Lo siento, no tengo el seguimiento de la stack aquí, pero me pregunto si otros han tenido este mismo problema (ya que este código tenía una cantidad de errores tipográficos y la falta de información que me impidió siquiera comstackr.

¿Alguien puede indicarme una versión corregida / en ejecución de este código?

La información actualizada que se necesita es:

    

El ejemplo actual de TabHost en el sitio de Desarrolladores de Android contiene un error y también deja fuera un paso importante que evitará que se ejecute el ejemplo.

Primero: en el método onCreate () que se agrega a la clase HelloTabWidget intenta usar un objeto TabHost llamado mTabHost. Esto no es válido, debe ser tabHost.

Segundo: el tutorial omite los detalles que necesita para agregar también cada una de las actividades al AndroidManifest.xml. Sin esto, el código no funcionará y obtendrá “fuerza cercana” cada vez que intente ejecutar.

Pasé la última hora revisando ese tutorial. Aquí están los problemas y soluciones que traté:

Paso 2: al crear sus actividades, si no las crea a través del manifiesto, deberá agregarlas manualmente al manifiesto.

Agregue estas líneas a AndroidManifest.xml:

        

Paso 3: solo se te indica que crees el archivo ic_tab_artists.xml. Necesitarás crear uno para ic_tab_songs.xml y ic_tab_albums.xml también. Puede duplicar el ic_tab_artists.xml (o cambiar las especificaciones de la pestaña HelloTabView.java para usar el archivo artists.xml para cada pestaña).

Paso 4: La penúltima línea en / res / layout / main tiene un error tipográfico (a; en lugar de a 🙂

  android:padding="5dp" />   

Paso 6: hay un error tipográfico que usa llamadas mTabHost en lugar de tabHost. Cambialo.

Como ya se mencionó, la función getIntent () en la última línea no es apropiada. Solo llamo a la pestaña en función de su id. p.ej:

 tabHost.setCurrentTabByTag("albums"); 

También el

android:theme="@android:style/Theme.NoTitleBar"

no funciona para mí, si lo reemplazo con

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

funciona bien.

El ejemplo, corregido por Ted, también funciona si las tres actividades no incluyen la línea:

 android:theme="@android:style/Theme.NoTitleBar" 

Esto es útil si desea una barra de título además de las tags de las tabs.