我使用以下代码为给定结果启动活动:
startActivityForResult(
new Intent(
getActivity(),
StudentDetails.class
).putExtra(
GeneralFunctions.EXTRA_STUDENT_ID,
(String) studentsListInUse.get(index)
.valueForKey(GeneralFunctions.STUDENT_ID)
),
GeneralFunctions.REQUEST_STUDENTS_EDITING
);
然后在其他方面我完成了它:
finishActivity(GeneralFunctions.REQUEST_STUDENTS_EDITING);
然后用另一个学生的数据重新开始:
startActivityForResult(
new Intent(
this,
StudentDetails.class
).putExtra(
GeneralFunctions.EXTRA_STUDENT_ID,
(String) attendance.valueForKey(GeneralFunctions.STUDENT_ID)
),
GeneralFunctions.REQUEST_STUDENTS_EDITING
);
问题是,当我返回屏幕时,显示学生详细信息的每个活动都会保留在堆栈中。在documentation中除了以外什么都没有:
您提供给的活动的请求代码 startActivityForResult()。如果有多个活动开始 使用此请求代码,它们都将完成。
那么这里缺少什么额外的细节?它应该简单地完成用给定resultCode开始的所有活动。