如何将选定对象从列表活动传递到详细信息活动

时间:2013-08-03 16:04:55

标签: android

很抱歉,如果这是显而易见的,但我对andriod非常陌生(只是在尝试学习新东西)。

我认为这是一件相当普遍的事情,但我无法找到最佳方法。

现在我有3项活动。将启动显示对象列表的第二个活动的主要活动,最后是第三个活动,从列表活动开始,我想对所选对象进行更改。列表和详细信息活动都托管片段。

我是否有一些安全的地方存储所选对象并从详细信息活动/片段中检索它?似乎主要活动是唯一的共同链接,但我不确定我是否可以指望该活动没有被销毁。

我是否需要通过Intent传递它?这似乎可行,但似乎也过于复杂。 (我想我必须序列化对象并将其作为活动的结果返回)

我是否应该将最终的2个列表和详细信息活动合并到一个活动中,然后换出碎片?我想如果我这样做,我可以安全地将所选对象存储在组合活动中,这是正确的吗?

1 个答案:

答案 0 :(得分:0)

执行此操作的常用方法和正确方法:

您必须创建一个对象(您将传递)并为该对象实现Parcelable接口(e.g.),然后使用您的意图传递它intent.putExtra("identifier", youParcelable)

示例:

在开始新活动时添加对象:

Intent intent = new Intent(getApplicationContext(),
yourActivityClass.class);
intent.putExtra("identifier", youParcelable);
startActivity(intent);

在新打开的Activity中从intent中检索对象:

Object object = getIntent().getExtras().getParcelable("identifier");

Source