Problèmes avec Android TabHost Exemple
J'ai été de tenter de mettre en œuvre la "avancé" tabwidget exemple de google. Mais, quand il essaie de l'appeler tabHost.addTab(spec);
- je obtenir une trace de la pile à partir du débogueur. Désolé, je n'ai pas la trace de la pile ici, mais je me demandais si d'autres personnes ont eu ce même problème (que ce code avait un certain nombre de typo et du manque d'information qui m'empêchait de même de la compilation.
Quelqu'un peut-il m'indiquer un corrigé/version en cours d'exécution de ce code?
Les informations mises à jour sont nécessaires:
<activity android:name=".ArtistsActivity"></activity>
<activity android:name=".AlbumsActivity"></activity>
<activity android:name=".SongsActivity"></activity>
J'ai suivi cet exemple juste la nuit dernière et il a bien fonctionné. Je n'ai pas de copier-coller le code, de sorte qu'il peut être buggy. Obtenez-nous votre trace de la pile et nous pouvons vous aider.
Alors qu'un nouveau développeur Android sera probablement besoin de la syntaxe telle que décrite ici, car il n'a pas au préalable tutoriel, ils semblent avoir mis à jour le tutoriel de mentionner brièvement cette exigence dans l'étape 2: "Dupliquer ce pour chacune des trois activités, et ajouter le correspondant <activité/> balises dans le fichier Manifeste Android" (20 Déc. 2010). Si quelqu'un en a besoin, le l'activité de la syntaxe de référence est disponible sur developer.android.com.
Alors qu'un nouveau développeur Android sera probablement besoin de la syntaxe telle que décrite ici, car il n'a pas au préalable tutoriel, ils semblent avoir mis à jour le tutoriel de mentionner brièvement cette exigence dans l'étape 2: "Dupliquer ce pour chacune des trois activités, et ajouter le correspondant <activité/> balises dans le fichier Manifeste Android" (20 Déc. 2010). Si quelqu'un en a besoin, le l'activité de la syntaxe de référence est disponible sur developer.android.com.
OriginalL'auteur KevinDTimm | 2010-02-05
Vous devez vous connecter pour publier un commentaire.
L'actuel TabHost Exemple sur le site des Développeurs Android contient une erreur et laisse également une étape importante qui permettra d'éviter l'exemple de la course.
Tout d'abord:
Dans le onCreate() méthode qui est ajouté à HelloTabWidget classe tentatives d'utilisation d'un TabHost objet appelé mTabHost. Ce n'est pas valide, il doit être tabHost.
Deuxième:
Le tutoriel laisse de côté les détails que vous devez ajouter à chacune des activités trop la AndroidManifest.xml. Sans cela, le code ne fonctionnera pas et vous obtiendrez "force close" chaque fois que vous essayez d'exécuter.
Le "ailleurs" est code.google.com/p/android/issues/detail?id=4183, mais je n'ai pas vérifié encore. Ce soir, j'espère.
OMG je souhaite que Google serait de fixer leurs exemples. Ils sont toujours mal! Et j'ai eu exactement le même problème et cela me rendait folle d'aujourd'hui. Merci beaucoup pour cette réponse. 🙂
OriginalL'auteur crv
J'ai passé la dernière heure, ou alors passer par le tutoriel. Voici les problèmes et les solutions que j'ai traité avec:
Étape 2: Lors de la création de vos activités, si vous n'avez pas les créer à travers le manifeste alors vous aurez besoin de les ajouter à la manifester manuellement.
Ajouter ces lignes AndroidManifest.xml:
Étape 3: Vous êtes seulement chargé de créer le ic_tab_artists.xml fichier. Vous aurez besoin de créer un ic_tab_songs.xml et ic_tab_albums.xml ainsi. Vous pouvez simplement dupliquer le ic_tab_artists.xml (ou de modifier le HelloTabView.java onglet spécifications à utiliser le artists.xml fichier pour chaque onglet).
Étape 4: la troisième à La dernière ligne dans /res/layout/principale a une faute de frappe (un ; au lieu d'un 🙂
Étape 6: Il y a une faute de frappe qui utilise des appels mTabHost au lieu de tabHost. La changer.
Comme déjà cité le getIntent() la fonction sur la dernière ligne n'est pas appropriée. Je viens d'appeler l'onglet basée sur son identité. par exemple:
OriginalL'auteur Ted
Également la
android:theme="@android:style/Theme.NoTitleBar"
ne fonctionne pas pour moi, si je le remplace par
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
il fonctionne très bien.
OriginalL'auteur Marco Hertwig
L'exemple, tel que rectifié par Ted, fonctionne également si tous les trois activités ne comprennent pas la ligne:
Ceci est utile si vous voulez une barre de titre en plus de l'onglet étiquettes.
OriginalL'auteur Lou