为了研究,我一直在为一个具有几个功能的恒温器开发应用程序。其中一个功能是可以设置他们的日程安排。所以我有一个可以直观显示所有日子的屏幕。要更改这些,按钮会打开一个新活动,使用户可以调整当天的运行。
现在,我已经收到了包含从一周到天网的日程安排的发送对象。但是,当离开日期屏幕时,时间表也需要发回。那是我遇到问题的地方。
WeekScreen,下面的方法创建了意图
@Override
public void onClick(View view) {
dayScheduleIntent = new Intent(WeekScheduleScreen.this.getBaseContext(), DayScheduleScreen.class);
Serializable switches = weekschedule.Get(daynumber);
dayScheduleIntent.putExtra("daySchedule", switches);
startActivity(dayScheduleIntent);
}
DayScheduleScreen,这里是它读出来的地方
DaySchedule daySchedule = getIntent().getSerializableExtra("daySchedule");
到目前为止一切顺利。但倒退并不起作用
DayScheduleScreen,位于OnBackPressed
intent.putExtra("daySchedule",(Serializable)daySchedule.GetSwitches());
WeekScreen,位于OnResume
(DaySchedule)dayScheduleIntent.getSerializableExtra("daySchedule");
我已经尝试了很多。但我完全难过了。虽然putExtra实际上在DayScheduleScreen中工作,但在Weekscreen中它从未到达,我也无法使用直接引用,因为它似乎在从intent中检索时制作副本。那么,如何将更改后的数据恢复到Weekscreen?提前谢谢。
答案 0 :(得分:0)
您正在寻找startActivityForResult()
方法。通过此方法,您可以将数据从DayScheduleScreen
传递回Weekscreen
。
解释here。它在章节中解释:
第3。活动之间的数据传输