Ich habe versucht, das "fortgeschrittene" Tabwidget Beispiel von Google zu implementieren. Aber wenn es versucht, tabHost.addTab(spec);
aufzurufen, bekomme ich eine Stack-Trace vom Debugger. Entschuldigung, ich habe den Stack-Trace hier nicht, aber ich frage mich, ob andere das gleiche Problem hatten (da dieser Code eine Reihe von Tippfehlern und fehlende Informationen hatte, die mich daran hinderten, sogar zu kompilieren.)
Kann mir jemand auf eine korrigierte / laufende Version dieses Codes hinweisen?
Die aktualisierten Informationen sind:
%Vor%Das aktuelle TabHost-Beispiel auf der Android-Entwickler-Website enthält einen Fehler und wird ebenfalls gelöscht einen wichtigen Schritt, der das Ausführen des Beispiels verhindert.
Zunächst einmal: In der onCreate () -Methode, die der HelloTabWidget-Klasse hinzugefügt wird, wird versucht, ein TabHost-Objekt namens mTabHost zu verwenden. Dies ist ungültig, es sollte tabHost sein.
Zweitens: Das Lernprogramm lässt die Details aus, die Sie für das Hinzufügen der einzelnen Aktivitäten zu AndroidManifest.xml benötigen. Ohne diesen Code wird der Code nicht funktionieren und Sie werden jedes Mal, wenn Sie versuchen, auszuführen, "forciert".
Ich habe die letzte Stunde oder so durch dieses Tutorial gegangen. Hier sind die Probleme und Korrekturen, die ich behandelt habe:
Schritt 2: Wenn Sie Ihre Aktivitäten beim Erstellen Ihrer Aktivitäten nicht über das Manifest erstellen, müssen Sie sie manuell zum Manifest hinzufügen.
Fügen Sie diese Zeilen zu AndroidManifest.xml hinzu:
%Vor%Schritt 3: Sie werden lediglich angewiesen, die Datei ic_tab_artists.xml zu erstellen. Sie müssen auch eine für ic_tab_songs.xml und ic_tab_albums.xml erstellen. Sie können die Datei ic_tab_artists.xml einfach duplizieren (oder die Tab-Spezifikationen HelloTabView.java ändern, um die Datei artists.xml für jede Registerkarte zu verwenden).
Schritt 4: Die drittletzte Zeile unter / res / layout / main hat einen Tippfehler (a; statt a:)
%Vor%Schritt 6: Es gibt einen Tippfehler, der Aufrufe von mTabHost anstelle von tabHost verwendet. Ändern Sie es.
Wie bereits erwähnt, ist die Funktion getIntent () in der letzten Zeile nicht geeignet. Ich rufe nur den Tab an, der auf seiner ID basiert. zB:
%Vor%Auch das
android:theme="@android:style/Theme.NoTitleBar"
funktioniert nicht für mich, wenn ich es durch
ersetze android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
es funktioniert gut.
Tags und Links android android-tabhost