2013-07-12 31 views
7

Mam aktywność, która korzysta z TabHost związaną z ViewPager. Mimo że działa dobrze, postanowiłem go zastąpić FragmentTabHost. Jednak po wprowadzeniu pewnych zmian otrzymuję wyjątek renderowania, którego komunikaty są następujące.Android - FragmentTabHost daje mi "Brak zakładki dla znacznika null"

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) 

Zasadniczo, co zrobiłem było stworzenie klasy o nazwie IconSwipeyTabsView która rozciąga FragmentTabHost i wykorzystywać w ramach podstawowej działalności lub fragmentu. Zrobiłem dużo badań w Google i StackOverflow, ale żaden z nich nie dał mi jednoznacznej odpowiedzi. FYI, są to adresy dwóch podstawowych plików.

Jeśli ktoś może mi pomóc, ja tak naprawdę to doceniam. Dzięki!

+0

Jeśli widzisz IconSwipeyTabsView.java , Nie ustawiłem go na wartość null. Zobacz, jak zainicjowałem tabHost ... końcowa FragmentTabHost.TabSpec tabSpec = newTabSpec (""). SetIndicator (view) .setContent (..); – user2062024

+0

Nie otrzymałem tego błędu, gdy używałem TabHost .. :( – user2062024

Odpowiedz

1

Czy dzwonisz pod numer IconSwipeyTabsView.setup(FragmentManager fm) w swojej działalności?

Błądmoże wystąpić, jeśli nie zostanie wywołana metoda setup w . W przypadku, szukając tego błędu prowadzi innych tutaj, upewnij się, aby zadzwonić pod jeden z następujących po utworzeniu FragmentTabHost obiektu:

FragmentTabHost.setup(Context context, FragmentManager manager)

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

szczegóły: FragmentTabHost