Problemas con el ejemplo de Android TabHost
He estado intentando implementar el 'avanzado' tabwidget ejemplo de google. Pero, cuando intenta llamar tabHost.addTab(spec);
Obtiene una traza de pila del depurador. Lo siento, no tengo el rastro de la pila aquí, pero me estoy preguntando si otros han tenido este mismo problema (como este código tenía un número de errores tipográficos y falta de información que me detuvo de incluso la compilación.
¿Puede alguien apuntarme a una versión corregida / en ejecución de este código?
- Cómo restablecer Id de item list_view en cada ficha en TabHost?
- El teclado suave levanta tabhost hacia arriba
- Integre tabhost y el cajón de navegación
- ¿Por qué onResume se llama cuando abro por primera vez la pestaña de un tabhost?
- Android OnResume no se llama cuando se usa TabHost y LocalActivityManager
La información actualizada necesaria son:
<activity android:name=".ArtistsActivity"></activity> <activity android:name=".AlbumsActivity"></activity> <activity android:name=".SongsActivity"></activity>
- TabHost - cómo cambiar el texto de la pestaña en XML
- Android ¿cómo puedo reemplazar el tabhost obsoleto?
- ¿Hay alguna manera de cambiar el valor de android: windowSoftInputMode de la clase java?
- Tabhost línea inferior de la frontera android
- Cualquier método alternativo para Casting de clase
- ¿Por qué Tab host no muestra el icono en android?
- Su contenido debe tener un TabHost cuyo atributo id es 'android.R.id.tabhost'
- ViewPager dentro de Fragmento pierde contenido al volver a él
El ejemplo TabHost actual 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.
En primer lugar: En el método onCreate () que se agrega a la clase HelloTabWidget intenta utilizar un objeto TabHost denominado mTabHost. Esto no es válido, debe ser tabHost.
Segundo: El tutorial deja fuera los detalles que necesita para agregar cada una de las actividades también el AndroidManifest.xml. Sin esto, el código no funcionará y obtendrá "fuerza de cierre" cada vez que intente ejecutar.
Pasé la última hora o así pasando por ese tutorial. Aquí están los problemas y las soluciones para él que traté con:
Paso 2: Al crear sus actividades, si no las crea a través del manifiesto, deberá agregarlas al manifiesto manualmente.
Añada estas líneas a AndroidManifest.xml:
<activity android:name=".AlbumsActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> </activity> <activity android:name=".ArtistsActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> </activity> <activity android:name=".SongsActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> </activity>
Paso 3: Sólo se le indica que cree el archivo ic_tab_artists.xml. Tendrás que crear uno para ic_tab_songs.xml y ic_tab_albums.xml. Puede duplicar el ic_tab_artists.xml (o cambiar las especificaciones de la ficha HelloTabView.java para utilizar el archivo artists.xml de cada ficha).
Paso 4: La tercera a última línea bajo / res / layout / main tiene un error tipográfico (a; en lugar de un 🙂
android:padding="5dp" /> </LinearLayout> </TabHost>
Paso 6: Hay un error tipográfico que usa las llamadas mTabHost en lugar de tabHost. Cambialo.
Como ya se ha mencionado, la función getIntent () en la última línea no es apropiada. Acabo de llamar a la pestaña basándome en 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 etiquetas de pestaña.
- RecyclerView – Desplácese hasta la posición de no trabajar cada vez
- La vista de lista de Android produce el resaltado negro sobre el texto al desplazarse. ¿Cómo detener esto?