TabWidget nullpointerxception؟
سؤال
أحاول إنشاء عنصر واجهة مستخدم لعلام تبويب مع علامات تبويب لفتح نشاطين مختلفين ومكتوبة بعد ذلك لتحقيق ذلك ولكنه يعطيني ملف NullPointerException
.
أين خطأي؟
<?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>
في فئة Java التي تمتد TabWidget
لدي الرمز التالي في onCreate
طريقة:
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));
المحلول 2
إذا كنت تقوم بتمديد فئة علامة التبويب الخاصة بك باستخدام الجدولة ، فلا بد من ذلك
لاستخدام معرفات عناصر التحكم ذات الصلة في علامة التبويب مثل "Android: id/tabHost"
كنت أستخدم "@+id/tabhost" وهو خطأ ولكن في حالة تمديده من خلال فئة النشاط ، إنه أمر جيد.
وفوق المشكلة التي كنت أواجهها في التصميم لن تأتي ...
Tab Tutorial كان أيضًا Bit Buggy يمكن حله باستخدام المثال التالي.مثال
نصائح أخرى
ليس الكثير من المعلومات للذهاب هنا ، ولكن تحقق من سؤالي (وإجاباته) لحل محتمل
مشكلات مع مثال Android tabhost
لا تنتمي إلى StackOverflow