Если ваш Workorder
объект уже Serializable
, вы можете легко передать объект в пределах Bundle
намерения. Чтобы сохранить объект в намерении, вы должны сделать:
intent.putExtra("SomeUniqueKey", [intance of workorder]);
и загрузить в другое действие:
Workorder workorder = (Workorder) intent.getSerializableExtra("SomeUniqueKey");
Если вы используете startActivityForResult
, это будет выглядеть так:
WorkorderListActivity.java:
Intent intent = new Intent(this, WorkorderDetailsActivity.class);
intent.putExtra("SomeUniqueKey", _workorder);
startActivityForResult(intent, [UniqueNumber]);
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == [UniqueNumber])
{
if (resultCode == RESULT_OK)
{
Workorder workorder = (Workorder) intent.getSerializableExtra("SomeUniqueKey");
// Do whatever with the updated object
}
}
}
WorkorderDetailsActivity.java:
public void onCreate(Bundle savedInstanceState)
{
Bundle bundle = getIntent().getExtras();
_workorder = (Workorder) bundle.getSerializable("SomeUniqueKey");
// Display the object
}
public void onBackPressed()
{
// Update _workorder object
Intent intent = getIntent();
intent.putExtra("SomeUniqueKey", _workorder);
setResult(RESULT_OK, intent);
}
Я считаю, что это должно работать.