【发布时间】:2013-02-03 16:23:12
【问题描述】:
我的活动中有一个 tabhost。有 5 个选项卡,其中一个选项卡包含另一个 tabHost。我需要在 tabHost 下显示我的第二个 tabHost。
即,我的选项卡活动有 5 个选项卡。在我的第三个选项卡中包含另一个选项卡主机。
给我任何想法。这就是我初始化标签主机的方式。
TabHost mytab;
mytab = (TabHost)findViewById(android.R.id.tabhost);
logcat中显示的错误
02-19 10:46:29.207: E/AndroidRuntime(814): FATAL EXCEPTION: main
02-19 10:46:29.207:E/AndroidRuntime(814):java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.netmdapp1/com.example.netmdapp1.PatientSubTabActivity}:java.lang。 RuntimeException:无法启动活动 ComponentInfo{com.example.netmdapp1/com.example.netmdapp1.Appointment}:java.lang.NullPointerException 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.startActivityNow(ActivityThread.java:1487) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 02-19 10:46:29.207: E/AndroidRuntime(814): at com.example.netmdapp1.PatientGroupActivity.startChildActivity(PatientGroupActivity.java:48) 02-19 10:46:29.207: E/AndroidRuntime(814): at com.example.netmdapp1.PatientsCustomView$3.onClick(PatientsCustomView.java:112) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.view.View.performClick(View.java:2485) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.view.View$PerformClick.run(View.java:9080) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.os.Handler.handleCallback(Handler.java:587) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.os.Handler.dispatchMessage(Handler.java:92) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.os.Looper.loop(Looper.java:123) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.main(ActivityThread.java:3683) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 java.lang.reflect.Method.invokeNative(Native Method) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 java.lang.reflect.Method.invoke(Method.java:507) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 02-19 10:46:29.207: E/AndroidRuntime(814): at dalvik.system.NativeStart.main(Native Method) 02-19 10:46:29.207:E/AndroidRuntime(814):原因:java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.netmdapp1/com.example.netmdapp1.Appointment}:java.lang。空指针异常 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.startActivityNow(ActivityThread.java:1487) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:654) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.widget.TabHost.setCurrentTab(TabHost.java:326) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.widget.TabHost.addTab(TabHost.java:216) 02-19 10:46:29.207: E/AndroidRuntime(814): at com.example.netmdapp1.PatientSubTabActivity.setupTab(PatientSubTabActivity.java:57) 02-19 10:46:29.207: E/AndroidRuntime(814): at com.example.netmdapp1.PatientSubTabActivity.onCreate(PatientSubTabActivity.java:30) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 02-19 10:46:29.207: E/AndroidRuntime(814): ... 16 更多 02-19 10:46:29.207: E/AndroidRuntime(814): 由: java.lang.NullPointerException 引起 02-19 10:46:29.207: E/AndroidRuntime(814): at com.example.netmdapp1.Appointment.onCreate(Appointment.java:88) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-19 10:46:29.207: E/AndroidRuntime(814): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 02-19 10:46:29.207: E/AndroidRuntime(814): ... 26 更多
【问题讨论】:
-
如果您遇到崩溃,您应该将堆栈跟踪打印到 Logcat。此外,这不是您问题的答案,但可以考虑在 TabHost 中不使用 TabHost 的替代设计。
-
您在使用操作栏标签吗?
-
我们可以这样设计吗? tabhost里面的tabhost??有可能吗..
-
我认为问题在于 tabhost 的公共 ID。 mytab = (TabHost)findViewById(android.R.id.tabhost);
标签: android android-tabhost android-style-tabhost