TabHost will nicht so wie ich will

  • Hallo,


    ich habe leider wieder eine Frage. Und zwar: Ich arbeite seit längerem an einer App und wollte jetzt Tabs hinzufügen. Ich habe nach diesem Tutorial gearbeitet. Mir wird in der MainActivity "TabHost tabHost = getTabHost(); " rot angestrichen (Zeile 50). Ich bekomme dann immer folgende fehlermeldung: "The method getTabHost() is undefined for the type MainActivity". Wenn ich dann auf den Quick Tipp klicke stürzt die App nach dem Start ab. Die MainActivity sieht jetzt so aus:


    Mein layout_main sieht so aus:


    Wäre toll wenn jemand mir sagen würde was zu machen ist :)

  • Du benutzt hier die SherlockActivity und die hat keine Funktion getTabHost(). Die gibt es nur, wenn du von TabActivity ableitest, welches aber zu Standart Android gehört. Willst das mit ActionBarSherlock machen, musst du die Tabs über die Actionbar einfügen.
    Bei StackOverflow gibts ein gutes Beispiel dafür, wie man mit Tabs arbeitet.


    block_

  • Danke erstmal für die Antwort! Wenn ich das jetzt richtig verstanden habe funktioniert der ActionBarSherlock normalerweise nicht zusammen mit dem TabHost? Das ganze funktioniert nicht so ganz.
    MainActivity:


    Dort ist ein Fehler in Zeile 53 (.setTabListener) sowie Zeile 59 und 60.


    TabViewActivity:


    Hier sind Fehler in den Zeilen 18, 24 und 25.


    TabListener:


    Hier werden mir die Zeilen 7 und 25 rot angezeigt (ActionBar und .setProviderId ). Muss ich da jetzt noch etwas anpassen?

  • Bei den ersten paar Fehlern vermute ich mal, dass damit TabFragment gemeint ist. TabFragment ist aus dem Beispiel von StackOverflow nur ein Platzhalter. Du musst da schon deine eigenen Fragmente einfügen (Der Inhalt von Tabs wird meist durch Fragmente dargestellt. Falls dir das nicht viel sagt, solltest du dir das am besten noch eben angucken). Aus dem Code aus deinem ersten Post würde ich sagen, dass da die BMIRechner, WHTRRechner und KalorienRechenr Klassen gemeint sind (solange sie eben als Fragmente implementiert wurden).
    Bei den letzten beiden bin ich mir nicht sicher. Für ActionBar eventuell den Import nicht eingefügt? Welche meldung gibt er bei setProviderId aus?


    block_

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!