Вопрос

Я пытаюсь создать виджет вкладок с двумя вкладками, чтобы открыть две разные виды деятельности и записанный после макета для достижения этого, но он дает мне 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 также было битги, его можно было решить с помощью следующего примера.Пример

Другие советы

Не так много информации здесь, но проверьте мой вопрос (и его ответы) для потенциального решения
Проблемы с примером Android Tabhost

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top