在新活动中获取Intent的额外内容

时间:2016-01-26 14:16:39

标签: android android-intent android-activity

我使用Activity从一个Fragment(在我的情况下实际为Activity)发送数据到新的Intent。这是我使用的代码:

Intent detailIntent = new Intent(getActivity(), NewActivity.class);
detailIntent.putExtra("News", n);
startActivity(detailIntent);

我知道如何使用

在我的NewActivity中获取数据
News news = (News) getIntent().getSerializableExtra("News");

然后填充我在XML中创建的不同UI组件。

但这些代码行应该在哪里。它可能存在多种方法:

protected void onCreate(Bundle savedInstanceState)
public View onCreateView(String name, Context context, AttributeSet attrs)
public View onCreateView(View parent, String name, Context context, AttributeSet attrs)

2 个答案:

答案 0 :(得分:3)

由于它是您从上一个活动收到的信息而且不会被修改,因此您应该从onCreate方法中读取它。

答案 1 :(得分:0)

如果您在活动之间来回导航,额外的可以更改,最好放行

News news = (News) getIntent().getSerializableExtra("News");
onResume中的

,因为onCreate只会在第一次创建活动时调用,但如果它在堆栈中并稍后移到顶部则不会被调用。如果您的第二个Activity是静态的且额外的永远不会更改,那么最好将代码放在onCreate