Android studio,向后发送对象

时间:2016-06-26 18:52:54

标签: java android android-intent

为了研究,我一直在为一个具有几个功能的恒温器开发应用程序。其中一个功能是可以设置他们的日程安排。所以我有一个可以直观显示所有日子的屏幕。要更改这些,按钮会打开一个新活动,使用户可以调整当天的运行。

现在,我已经收到了包含从一周到天网的日程安排的发送对象。但是,当离开日期屏幕时,时间表也需要发回。那是我遇到问题的地方。

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?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您正在寻找startActivityForResult()方法。通过此方法,您可以将数据从DayScheduleScreen传递回Weekscreen。 解释here。它在章节中解释:

第3。活动之间的数据传输