2010-02-17 3 views
1

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

Используйте «adb logcat», DDMS или перспективу DDMS в Eclipse, чтобы проверить трассировку стека, которая сообщит вам, где ваша проблема. – CommonsWare

+0

02-18 11: 08: 01.197: INFO/ActivityManager (52): Начальная деятельность: Intent {cmp = com.example.FindItNear/.More} 02-18 11: 08: 11.224: WARN/ActivityManager (52): Тайм-аут запуска истек, отказавшись от блокировки слежения! 02-18 11: 08: 11.368: WARN/ActivityManager (52): тайм-аут активности для HistoryRecord {43dba948 com.example.FindItNear/.More} – UMAR

+0

Добавить комментарий как отредактируйте сообщение (чтобы его можно отформатировать и поэтому читайте проще) – KevinDTimm

ответ

-1

если вы расширяете свой класс, используя вкладку TabActivity то необходимо

, чтобы использовать идентификаторы связанных элементов управления, такие как «@android: id/tabhost»

Я использовал «@ + id/tabhost», что неверно, но в случае его расширения через класс Activity его штраф.

и выше проблемы, которые я столкнулся на макете не придет ...

Tab учебник был также немного глючит она может быть решена с помощью следующего примера. Example

+0

Итак, вы исправили это или нет? – KevinDTimm

+0

есть фиксированный сейчас .. – UMAR

0
не

много информации, чтобы идти дальше здесь, но проверить мой вопрос (и это ответы) для потенциальное решение
Issues with Android TabHost Example

+0

Я уже исправил эти проблемы .. но проблема в моем файле макета .. Я только что скопировал код макета, упомянутый в примере Android tabactivity ... до сих пор нет надежды .. – UMAR