/ / Help mit NullPointerException auf API-Ebene 5 - Android, Nullpointerexception, Android-Tabhost, Tabwidget, unbehandelt-Ausnahme

Hilfe mit NullPointerException auf API-Ebene 5 - Android, Nullpointerexception, Android-Tabhost, Tabwidget, unbehandelt-Ausnahme

Ich habe meine Anwendung mit API Level 8 entwickeltDas minimale SDK ist 3. Ich habe die meisten Tests auf einem Emulator mit 8 und meinem DroidX sowie einigen Freunden durchgeführt. Bisher keine Probleme. Es sollte auch bekannt sein, dass ich keine APIs über Level 3 verwendet habe, und das Tab Layout war eine fast exakte Kopie des Beispiels von Google Hier. Also .... wenn ich auf einem Emulator mit Level 5 API laufe, bekomme ich den folgenden Fehler und ich habe keine Ahnung wo es herkommt außer den Verweisen auf TabWidget.

Uncaught handler: thread main exiting due to uncaught exception
java.lang.NullPointerException
at android.widget.TabWidget.dispatchDraw(TabWidget.java:206)
at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
at android.view.ViewGroup.drawChild(ViewGroup.java:1524)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
at android.view.View.draw(View.java:6539)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at android.view.ViewGroup.drawChild(ViewGroup.java:1526)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1256)
at android.view.View.draw(View.java:6539)
at android.widget.FrameLayout.draw(FrameLayout.java:352)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1830)
at android.view.ViewRoot.draw(ViewRoot.java:1348)
at android.view.ViewRoot.performTraversals(ViewRoot.java:1113)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1632)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4310)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)


Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost();  // The activity TabHost
TabHost.TabSpec spec;  // Resusable TabSpec for each tab
Intent intent;  // Reusable Intent for each tab

// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, parent.class);

// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("browse").setIndicator("Browse",
res.getDrawable(R.drawable.ic_tab_browse))
.setContent(intent);
tabHost.addTab(spec);

intent = new Intent().setClass(this, bookmarks.class);
spec = tabHost.newTabSpec("bookmarks").setIndicator("Bookmarks",
res.getDrawable(R.drawable.ic_tab_bookmarks))
.setContent(intent);
tabHost.addTab(spec);

// Do the same for the other tabs
intent = new Intent().setClass(this, search.class);
spec = tabHost.newTabSpec("search").setIndicator("Search",
res.getDrawable(R.drawable.ic_tab_search))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);

Antworten:

1 für die Antwort № 1

Ohne Code, um damit zu arbeiten, ist es schwierig, Ihnen viel Rat zu geben.

  • Wenn Sie nicht verwenden TabActivity, stell sicher, dass du anrufst setup() auf Ihrem TabHost bevor du irgendetwas anderes damit machst.

  • Da kommt die Ausnahme her TabWidget, versuchen Sie, Ihre Tab-Indikatoren vorübergehend zu vereinfachen und sehen Sie, ob dies hilft, das Problem zu lokalisieren oder zu beheben.


2 für die Antwort № 2

Mein Tabhost zeigte die NullPointer-Ausnahme für2.1 aktualisiert zu der Zeit, als ich es in linearLayout gehalten habe, aber wenn ich Relative Layout versuchte funktioniert es gut. also könnte diese Änderung dir helfen, wenn du in derselben Situation steckst.