Question

J'ai reçu le rapport de l'utilisateur d'une application que j'ai écrit qu'il obtient FC à chaque fois à partir d'une certaine activité. Je ne l'ai pas été en mesure de reproduire le problème sur l'émulateur ou sur mon HTC Hero (version 1.5), mais cet utilisateur en cours d'exécution HTC Magic (avec 1,6) fait face à cette erreur chaque fois.

Ce qui me dérange est que pas une seule étape dans le stacktrace comprend en fait un code dans mon application (com.filmtipset)

01-07 00:10:26.773 I/ActivityManager(  141): Starting activity: Intent { cmp=com.filmtipset/.ViewMovie (has extras) }
01-07 00:10:27.023 D/AndroidRuntime( 2402): Shutting down VM
01-07 00:10:27.023 W/dalvikvm( 2402): threadid=3: thread exiting with uncaught exception (group=0x4001e170)
01-07 00:10:27.023 E/AndroidRuntime( 2402): Uncaught handler: thread main exiting due to uncaught exception
01-07 00:10:27.083 E/AndroidRuntime( 2402): java.lang.NullPointerException
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.widget.TabWidget.dispatchDraw(TabWidget.java:173)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.drawChild(ViewGroup.java:1529)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.View.draw(View.java:6552)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.widget.FrameLayout.draw(FrameLayout.java:352)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.drawChild(ViewGroup.java:1531)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1258)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.View.draw(View.java:6552)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.widget.FrameLayout.draw(FrameLayout.java:352)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1883)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewRoot.draw(ViewRoot.java:1332)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewRoot.performTraversals(ViewRoot.java:1097)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.view.ViewRoot.handleMessage(ViewRoot.java:1613)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.os.Handler.dispatchMessage(Handler.java:99)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.os.Looper.loop(Looper.java:123)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at android.app.ActivityThread.main(ActivityThread.java:4320)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at java.lang.reflect.Method.invokeNative(Native Method)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at java.lang.reflect.Method.invoke(Method.java:521)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549)
01-07 00:10:27.083 E/AndroidRuntime( 2402): at dalvik.system.NativeStart.main(Native Method)

vidage complet ici si j'ai oublié quelque chose d'intérêt

Je suppose donc qu'il pourrait y avoir quelque chose de mal avec ma mise en page. Il est tout à fait bavard, donc Je poste ici , plutôt que de coller le tout sur le SO.

Il y a un tabwidget, où un onglet est connecté au scrollview, svFilmInfo, et un à l'llComments de disposition linéaire.

L'hôte onglet est renseigné en tant que tel:

Drawable commentSelector = getResources().getDrawable(R.drawable.tabcomment);
Drawable infoSelector = getResources().getDrawable(R.drawable.tabinfo);

mTabHost = getTabHost();
mTabHost.getTabWidget().setBackgroundColor(Color.BLACK);
mTabHost.addTab(mTabHost.newTabSpec("tabInfo").setIndicator("Filminfo", infoSelector).setContent(R.id.svFilmInfo));
mTabHost.addTab(mTabHost.newTabSpec("tabInfo").setIndicator("Kommentarer", commentSelector).setContent(R.id.llComments));

Depuis que je ne peux pas reproduire l'erreur moi-même, et que je ne trouve aucune mention dans la trace de la pile de ce qui pourrait être la cause de l'erreur, je ne sais pas tout à fait où commencer le dépannage cela.

Je vous remercie tous les pointeurs.

Était-ce utile?

La solution

que je rencontrerai des traces de pile comme ça quand les gens ont un TabHost dans leur mise en page, mais ne correspondent pas TabSpecs à elle. Vous montrez le code où vous ajoutez des onglets - êtes-vous sûr est appelé dans toutes les circonstances

?

Autres conseils

Je suis la même erreur dans ma demande, mais seulement sur Android 1.6 et plus - il a travaillé sur 1,5

.

La raison: XML Activité application initiale prolongée TabActivity mais la mise en page avec un widget TabHost n'a pas été chargé par setContentView () dans SCOPE onCreate () (il devait charger plus tard par l'intermédiaire Runnable un peu).

Alors d'abord essayer de tirer réellement tel TabActivity à l'écran non entièrement traitées a causé l'accident avec NullPointerException à android.widget.TabWidget.dispatchDraw (TabWidget.java:173)

Vous devez charger XML ou instancier TabHost et remplir avec newTabSpecs programatically avant la fin onCreate.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top