Bug ViewPager & PageAdapter
Bonjour,
J'utilise un ViewPager avec un TabHost et de façon un peu aléatoire (ou alors je n'ai pas encore repéré la logique), quand je navigue entre les Tab, mon application crash avec le message d'erreur suivant dans le LogCat.
En cherchant un peu, j'ai trouvé sur SOF le thread suivant qui propose d'overrider une méthode de son PageAdapter ...
Le problème c'est que j'utilise un FragmentPageAdapter et visiblement la méthode en question n'existe pas ...
Quelqu'un peut-il m'aider ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
10-23 12:12:57.003: E/AndroidRuntime(16732): FATAL EXCEPTION: main
10-23 12:12:57.003: E/AndroidRuntime(16732): java.lang.IllegalArgumentException: The observer is null.
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.database.Observable.unregisterObserver(Observable.java:64)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.HeaderViewListAdapter.unregisterDataSetObserver(HeaderViewListAdapter.java:256)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2714)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.View.dispatchDetachedFromWindow(View.java:11789)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2534)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2532)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2532)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2532)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3651)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3626)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.ViewGroup.removeView(ViewGroup.java:3558)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:999)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.FragmentManagerImpl.detachFragment(FragmentManager.java:1233)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:620)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.view.ViewPager.populate(ViewPager.java:895)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:469)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:441)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:422)
10-23 12:12:57.003: E/AndroidRuntime(16732): at com.dvectors.mobile.android.activity.MainActivity.onTabChanged(MainActivity.java:389)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:391)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.TabHost.setCurrentTab(TabHost.java:376)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.View.performClick(View.java:4084)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.view.View$PerformClick.run(View.java:16966)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.os.Handler.handleCallback(Handler.java:615)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.os.Handler.dispatchMessage(Handler.java:92)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.os.Looper.loop(Looper.java:137)
10-23 12:12:57.003: E/AndroidRuntime(16732): at android.app.ActivityThread.main(ActivityThread.java:4745)
10-23 12:12:57.003: E/AndroidRuntime(16732): at java.lang.reflect.Method.invokeNative(Native Method)
10-23 12:12:57.003: E/AndroidRuntime(16732): at java.lang.reflect.Method.invoke(Method.java:511)
10-23 12:12:57.003: E/AndroidRuntime(16732): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-23 12:12:57.003: E/AndroidRuntime(16732): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-23 12:12:57.003: E/AndroidRuntime(16732): at dalvik.system.NativeStart.main(Native Method) |