У меня есть действие, в котором я должен использовать TabBar, я уже расширил это действие из другого класса, поэтому я не могу расширить TabActivity.
Я прочитал одно решение использовать tabHost.setup () ЗДЕСЬ .
Но я не могу выполнить этот путь. Получаю исключение NullPointerException.
Если кто-то может помочь мне с правильным примером.
Вот файл XML
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mytabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical" android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="wrap_content" android:layout_width="fill_parent"></TabWidget>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="fill_parent" android:layout_width="fill_parent"></FrameLayout>
</LinearLayout>
</TabHost>
Вот файл Java.
public class TabActivityActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = (TabHost) findViewById(R.id.mytabhost);
tabHost.setup();
}
}
Вот ошибка Log Cat
10-20 15: 21: 05.196: ОШИБКА / AndroidRuntime (6265): необработанный обработчик: выход из основного потока из-за необработанного исключения
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): java.lang.NullPointerException
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): atroid.widget.TabHost.dispatchWindowFocusChanged (TabHost.java:295)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.view.ViewGroup.dispatchWindowFocusChanged (ViewGroup.java:661)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.view.ViewGroup.dispatchWindowFocusChanged (ViewGroup.java:661)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.view.ViewGroup.dispatchWindowFocusChanged (ViewGroup.java:661)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.view.ViewRoot.handleMessage (ViewRoot.java:1819)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.os.Handler.dispatchMessage (Handler.java:99)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.os.Looper.loop (Looper.java:123)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на android.app.ActivityThread.main (ActivityThread.java:4363)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на java.lang.reflect.Method.invokeNative (собственный метод)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на java.lang.reflect.Method.invoke (Method.java:521)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:860)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618)
10-20 15: 21: 05.206: ОШИБКА / AndroidRuntime (6265): в dalvik.system.NativeStart.main (собственный метод)
При добавлении второй вкладки выдается следующая ошибка
10-20 16: 46: 23.361: ОШИБКА / AndroidRuntime (1471): необработанный обработчик: выход из основного потока из-за необработанного исключения
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.tab/com.tab.TabActivityActivity}: java.lang.RuntimeException: не удалось создать содержимое вкладки потому что не удалось найти вид с идентификатором 2130903041
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2496)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2512)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.app.ActivityThread.access $ 2200 (ActivityThread.java:119)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1863)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.os.Handler.dispatchMessage (Handler.java:99)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.os.Looper.loop (Looper.java:123)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на android.app.ActivityThread.main (ActivityThread.java:4363)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в java.lang.reflect.Method.invokeNative (собственный метод)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в java.lang.reflect.Method.invoke (Method.java:521)
10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:860)10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): at dalvik.system.NativeStart.main (собственный метод) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): вызвано: java.lang.RuntimeException: не удалось создать содержимое вкладки, поскольку не удалось найти представление с идентификатором2130903041 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): at android.widget.TabHost $ ViewIdContentStrategy. (TabHost.java:587) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): вandroid.widget.TabHost $ ViewIdContentStrategy. (TabHost.java:578) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в android.widget.TabHost $ TabSpec.setContent (TabHost.java:435) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в com.tab.TabActivityActivity.onCreate (TabActivityActivity.java:22) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) 10-20 16: 46: 23.381: ОШИБКА / AndroidRuntime (1471): в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2459) 10-20 16: 46: 23,381: ОШИБКА / AndroidRuntime (1471): ... еще 11