http://www.mrbustonian.com

添加课程活动利用intent向主活动传输数据时

图片 1

一个课程表app,想要按照如图方法实现修改功能 修改用例因其与自己的添加用例相像,所以就直接在原有的代码上做改动添加用例但发现自己的程序在修改过之后就无法在主活动添加课程组件,经断点调试发现,是在修改的过程中,添加课程活动利用intent向主活动传输数据时,在主活动中未执行onActivityResult()方法,不知如何是好,请大佬们明示一条出路(ps:在代码3第6行和代码4第2行设置断点,发现在创建课程的时候,两个断点均能命中.但在修改课程的时候只能命中第一个断点而无法命中第二个)相关代码如下:

//代码一:主活动短按课程组件修改课程信息v.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewview){v.setVisibility(View.GONE);day.removeView(v);SQLiteDatabasesqLiteDatabase=databaseHelper.getWritableDatabase();sqLiteDatabase.execSQL("deletefromcourseswherecourse_name=?",newString[]{course.getCourseName()});Intentintent=newIntent(MainActivity.this,AddCourseActivity.class);intent.putExtra("course1",course);startActivity(intent);

//代码2:添加课程活动接受传入的intent并调用setCourse()方法来设置EditText的默认值Coursecourse=(Course)getIntent().getSerializableExtra("course1");if(course!=null)setCourse(course);

//代码3:在添加课程活动中,将course变量放入intent(实体类已继承Serializable),并设置跳转至主活动,并结束添加课程活动Coursecourse=newCourse(courseName,teacher,classRoom,Integer.valueOf(day),Integer.valueOf(start),Integer.valueOf(end));Intentintent=newIntent(AddCourseActivity.this,MainActivity.class);intent.putExtra("course",course);setResult(1,intent);finish();

//代码4:主活动接收来自添加课程活动的intent并创建视图,并保存数据至数据库protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){super.onActivityResult(requestCode,resultCode,data);switch(requestCode){case0:if(resultCode==1data!=null){Coursecourse=(Course)data.getSerializableExtra("course");//...创建视图saveData(course);break;}}}

//代码5:在主活动中,触摸toolbar的加号来添加课程publicbooleanonOptionsItemSelected(MenuItemitem){switch(item.getItemId()){caseR.id.add_courses:Intentintent=newIntent(MainActivity.this,AddCourseActivity.class);startActivityForResult(intent,0);break;

郑重声明:本文版权归俄罗斯254娱乐网址所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。