java.lang.IllegalArgumentException: l'observateur est null
Un utilisateur de l'une de mes applications signalé cette erreur. Je suis confus quant à ce que signifie une comment résoudre le problème. Après un peu de recherche sur google...toujours pas de chance. Quelqu'un vu ça avant, ou de savoir comment résoudre ce problème?
java.lang.IllegalArgumentException: The observer is null.
at android.database.Observable.unregisterObserver(Observable.java:59)
at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42)
at android.widget.HeaderViewListAdapter.unregisterDataSetObserver(HeaderViewListAdapter.java:256)
at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2309)
at android.view.View.dispatchDetachedFromWindow(View.java:8197)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1968)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1966)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3257)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3237)
at android.view.ViewGroup.removeView(ViewGroup.java:3185)
at com.aheudev.a.slickdeals.adapters.DealPageAdapter.destroyItem(DealPageAdapter.java:174)
at android.support.v4.view.ViewPager.populate(ViewPager.java:415)
at android.support.v4.view.ViewPager.completeScroll(ViewPager.java:696)
at android.support.v4.view.ViewPager.computeScroll(ViewPager.java:668)
at android.view.ViewGroup.drawChild(ViewGroup.java:2434)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
at android.view.View.draw(View.java:9282)
at android.view.ViewGroup.drawChild(ViewGroup.java:2584)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
at android.view.ViewGroup.drawChild(ViewGroup.java:2582)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
at android.view.ViewGroup.drawChild(ViewGroup.java:2582)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
at android.view.View.draw(View.java:9282)
at android.widget.FrameLayout.draw(FrameLayout.java:419)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1923)
at android.view.ViewRoot.draw(ViewRoot.java:1695)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1410)
at android.view.ViewRoot.handleMessage(ViewRoot.java:2040)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4123)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)
Et il est venu à partir de cette fonction dans mon PagerAdapter:
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View) view);
}
source d'informationauteur aheuermann
Vous devez vous connecter pour publier un commentaire.
Aussi, j'ai eu le même problème et il semble que unregisterDataSetObserver sur votre DealPageAdapter est appelé deux fois. Pour résoudre le problème que j'ai a remplacé le unregisterDataSetObserver dans ma Carte en tant que telle
Espérons que cette aide!
Il y a quelques personnes qui ont eu votre problème Ici et Ici
De la recherche sur la pile d'appel, il ressemble à la "vue", enregistré un observateur qu'il est maintenant en train de se désinscrire. Que l'observateur n'est plus là, même si c'est prévu. D'où l'erreur. Ce peut-être un bug ou il peut être lié à la façon dont vous faites les choses.
Essayer de regarder à travers les Source Android pour voir si vous pouvez repérer.
Bonne chance.
Une solution alternative consiste à envelopper la ListView et d'intercepter l'exception. Cette solution a fonctionné pour moi, et j'ai pas encore trouvé les effets secondaires.