Tabwidget nullPointerexception?
Frage
Ich versuche, ein Registerkarten -Widget mit zwei Registerkarten zu erstellen, um zwei verschiedene Aktivitäten zu öffnen und das folgende Layout zu erzielen, um dies zu erreichen, aber es gibt mir eine NullPointerException
.
Wo ist mein Fehler?
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
In der Java -Klasse, die sich erstreckt TabWidget
Ich habe den folgenden Code in der onCreate
Methode:
setContentView(R.layout.more);
TabHost mTabHost = (TabHost) this.findViewById(R.id.tabhost);
mTabHost.setup();
Intent intent;
intent = new Intent().setClass(this, Settings.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator(
"Calculator",
getResources().getDrawable(R.drawable.tab01)).setContent(intent));
intent = new Intent().setClass(this, Post.class);
mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator(
"YouTube",
getResources().getDrawable(R.drawable.tab02)).setContent(intent));
Lösung 2
Wenn Sie Ihre Registerkartenklasse mit der Tabaktivität erweitern, muss dies der Fall sein
Verwenden Sie IDs von Registerkarten -verwandten Steuerelementen wie "@android: id/tabhost"
Ich habe "@+id/tabhost" verwendet, was falsch ist, aber im Falle der Erweiterung durch Aktivitätsklasse ist es in Ordnung.
und über dem Problem, mit dem ich auf Layout konfrontiert war, wird nicht kommen ...
TAB -Tutorial war auch Bit Buggy, es kann mit dem folgenden Beispiel gelöst werden.Beispiel
Andere Tipps
Nicht viele Informationen, die Sie hier weitergehen sollten, aber überprüfen Sie meine Frage (und die Antworten) auf eine potenzielle Lösung
Probleme mit Android Tabhost Beispiel