2013-07-12 8 views
7

Ich habe eine Aktivität, die eine TabHost mit ViewPager verbundenen verwendet. Obwohl es gut funktioniert, habe ich beschlossen, es durch FragmentTabHost zu ersetzen. Nachdem ich einige Änderungen vorgenommen habe, erhalte ich jedoch eine Rendering-Ausnahme, deren Nachrichten wie folgt aussehen.Android - FragmentTabHost gibt mir "Kein Tab für Tag Null bekannt"

W/System.err(21723): java.lang.IllegalStateException: No tab known for tag null 
W/System.err (21723): at android.support.v4.app.FragmentTabHost.doTabChanged(FragmentTabHost.java:326) 
W/System.err(21723): at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:276) 
W/System.err(21723): at android.view.View.dispatchAttachedToWindow(View.java:12064) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) 
W/System.err(21723): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1339) 
W/System.err(21723): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1131) 
W/System.err(21723): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4611) 
W/System.err(21723): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) 
W/System.err(21723): at android.view.Choreographer.doCallbacks(Choreographer.java:555) 

Im Grunde, was ich tat, war eine Klasse zu machen namens IconSwipeyTabsView die FragmentTabHost und Verwendung in einer Haupttätigkeit oder Fragmente erstreckt. Ich habe viel über Google und StackOverflow recherchiert, aber keiner von ihnen gab mir eine klare Antwort. Zu Ihrer Information, das sind die URLs der beiden Kerndateien.

Wenn jemand mir helfen kann, würde ich es wirklich schätzen. Danke!

+0

Wenn Sie IconSwipeyTabsView.java sehen Ich habe es nicht auf null gesetzt. Siehe, wie ich initialisiert TabHost ... final FragmentTabHost.TabSpec tabSpec = newTabSpec (""). SetIndicator (anzeigen) .setContent (..); – user2062024

+0

Ich habe diesen Fehler nicht erhalten, als ich TabHost benutzte .. :( – user2062024

Antwort

1

Rufen Sie in Ihrer Aktivität IconSwipeyTabsView.setup(FragmentManager fm) an? Der No tab known for tag null Fehler kann auftreten, wenn die setup Methode in FragmentTabHost nicht aufgerufen wird. Im Falle für diesen Fehler suchen andere hier führt, stellen Sie sicher, dass Sie eine der folgenden rufen nach dem FragmentTabHost Objekt erstellen:

FragmentTabHost.setup(Context context, FragmentManager manager)

FragmentTabHost.setup(Context context, FragmentManager manager, int containerId)

Details: FragmentTabHost