teacher_tab.setup(this.getLocalActivityManager())报空指针,希望各位帮忙看看

qq_42955997 2019-06-19 03:20:51
因为想在一个TabHost的其中一个标签页下面在添加一个TabHost,就在网上找了相关帖子模仿,结果遇到“Did you forget to call 'public voidsetup(LocalActivityManager activityGroup)?”这样的错误,网上说继承ActivityGroup,或者TabActivity 而不是 activity

加入 activitytabHost.setup(this.getLocalActivityManager());就可以了,但是这样改了之后teacher_tab.setup(this.getLocalActivityManager());这一句又会报空指针错误“java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup(android.app.LocalActivityManager)' on a null object reference”。
下面是java代码

public class TeacherActivity extends ActivityGroup {

private Context context = TeacherActivity.this;
private List<CourseSummary> listMyCourses = new ArrayList<>();
void getMyCourses(){
List<CourseSummary> mycourses = CMSClient.getMyCourses(SystemConfig.username);
listMyCourses.clear();
for(CourseSummary c : mycourses) {
listMyCourses.add(c);
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost teacher_tab = findViewById(R.id.tabhost_teacher);
teacher_tab.setup(this.getLocalActivityManager());
// TabHost teacher_tab = getTabHost();
// LayoutInflater.from(this).inflate(R.layout.activity_teacher_main,teacher_tab.getTabContentView(),true);

teacher_tab.addTab(teacher_tab.newTabSpec("taba").setIndicator("我的课程").setContent(R.id.teacher_mycourses));
teacher_tab.addTab(teacher_tab.newTabSpec("tabb").setIndicator("课程维护").setContent(new Intent(this,TeacherActivity_courserepair.class)));
teacher_tab.addTab(teacher_tab.newTabSpec("tabc").setIndicator("课表查看").setContent(R.id.teacher_coursetable));

//我的课程标签页
ListView listview_mycourses = findViewById(R.id.list_view_teacher_course);
getMyCourses();
for(int i = 0; i < listMyCourses.size(); i++){
Log.i("cmstag",listMyCourses.get(i).courseName);
}
MyCoursesAdapter mdp = new MyCoursesAdapter(context, R.layout.listview_sub_mycourse, listMyCourses);
listview_mycourses.setAdapter(mdp);
listview_mycourses.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CourseSummary myCourse = listMyCourses.get(position);
Intent intent = new Intent(context,CourseDetailsActivity.class);
intent.putExtra("course_id",myCourse.courseId);
context.startActivity(intent);
}
});

//标签切换事件处理,setOnTabChangedListener
teacher_tab.setOnTabChangedListener(new TabHost.OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
if (tabId.equals("taba")) { //第一个标签

}
if (tabId.equals("tabb")) { //课程维护

}
if (tabId.equals("tabc")) { //课表查看

}
}
});
}
}


这里是错误信息

E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.edu.njrts.cms, PID: 8947
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.edu.njrts.cms/cn.edu.njrts.cms.TeacherActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup(android.app.LocalActivityManager)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup(android.app.LocalActivityManager)' on a null object reference
at cn.edu.njrts.cms.TeacherActivity.onCreate(TeacherActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6119) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
Application terminated.



下面是日志信息

2019-06-19 15:18:49.672 9813-9813/cn.edu.njrts.cms I/System.out: connect to server success!
2019-06-19 15:18:49.675 1384-1433/? W/audio_hw_generic: Not supplying enough data to HAL, expected position 57444609 , only wrote 57444480
2019-06-19 15:18:49.678 9813-9813/cn.edu.njrts.cms I/System.out: {"password":"1111","username":"10001"}
2019-06-19 15:18:49.690 9813-9813/cn.edu.njrts.cms I/System.out: server reply: {"msg":"OK","jsonStr":"{\"teacherId\":\"10001\",\"username\":\"10001\",\"password\":\"1111\",\"name\":\"张乐乐\",\"state\":0}"}
2019-06-19 15:18:49.696 1688-4449/? I/ActivityManager: START u0 {cmp=cn.edu.njrts.cms/.TeacherActivity} from uid 10083 on display 0
2019-06-19 15:18:49.719 9813-9813/cn.edu.njrts.cms D/AndroidRuntime: Shutting down VM


--------- beginning of crash
2019-06-19 15:18:49.719 9813-9813/cn.edu.njrts.cms E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.edu.njrts.cms, PID: 9813
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.edu.njrts.cms/cn.edu.njrts.cms.TeacherActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup(android.app.LocalActivityManager)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TabHost.setup(android.app.LocalActivityManager)' on a null object reference
at cn.edu.njrts.cms.TeacherActivity.onCreate(TeacherActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
at android.app.ActivityThread.-wrap12(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6119) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
2019-06-19 15:18:49.720 1688-4450/? W/ActivityManager: Force finishing activity cn.edu.njrts.cms/.TeacherActivity
2019-06-19 15:18:49.723 1688-4450/? W/ActivityManager: Force finishing activity cn.edu.njrts.cms/.MainActivity
2019-06-19 15:18:49.766 1688-10315/? I/OpenGLRenderer: Initialized EGL, version 1.4
2019-06-19 15:18:49.766 1688-10315/? D/OpenGLRenderer: Swap behavior 1
2019-06-19 15:18:49.766 1688-10315/? W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2019-06-19 15:18:49.766 1688-10315/? D/OpenGLRenderer: Swap behavior 0
2019-06-19 15:18:49.770 1688-10315/? D/EGL_emulation: eglCreateContext: 0x9af30f20: maj 3 min 0 rcv 3
2019-06-19 15:18:49.779 1688-10315/? D/EGL_emulation: eglMakeCurrent: 0x9af30f20: ver 3 0 (tinfo 0x8bb7f860)
2019-06-19 15:18:49.782 1688-10315/? E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
2019-06-19 15:18:49.782 1688-10315/? E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
2019-06-19 15:18:49.789 1688-10315/? D/EGL_emulation: eglMakeCurrent: 0x9af30f20: ver 3 0 (tinfo 0x8bb7f860)
2019-06-19 15:18:50.225 1688-1701/? W/ActivityManager: Activity pause timeout for ActivityRecord{8a01dc1 u0 cn.edu.njrts.cms/.TeacherActivity t383 f}
2019-06-19 15:18:50.302 2262-2473/? D/EGL_emulation: eglMakeCurrent: 0x97c23780: ver 3 0 (tinfo 0x84cb7050)
2019-06-19 15:18:50.370 2262-2262/? I/OptInState: There is a new client and it does not support opt-in. Dropping request.
2019-06-19 15:18:50.382 2262-9842/? W/LocationOracle: No location history
...全文
105 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
eisldkw 2019-06-19
  • 打赏
  • 举报
回复
帮你顶一下喽

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧