سؤال

أحاول إنشاء عنصر واجهة مستخدم لعلام تبويب مع علامات تبويب لفتح نشاطين مختلفين ومكتوبة بعد ذلك لتحقيق ذلك ولكنه يعطيني ملف 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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top