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



如果这很明显,很抱歉,但我对andriod很陌生(只是四处玩耍,试图学习新东西)。

我认为这是一件很常见的事情,但我很难找到最好的方法

现在我有3项活动。一个主活动,它将启动显示对象列表的第二个活动,最后是从列表活动开始的第三个活动,我希望在其中更改所选对象。列表和详细信息活动都包含片段。

是否有一些安全的地方可以存储所选对象并从详细信息活动/片段中检索它?主要活动似乎是唯一常见的环节,但我不确定我能指望该活动没有被破坏。

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

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

常见且正确的方法:

您必须创建一个对象(您将传递该对象)并为该对象实现Parcelable接口(例如),然后根据您的意图传递intent.putExtra("identifier", youParcelable)

示例:

在启动新活动时添加对象:

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

从新打开的活动中的意图检索对象:

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

最新更新