我使用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)
答案 0 :(得分:3)
由于它是您从上一个活动收到的信息而且不会被修改,因此您应该从onCreate方法中读取它。
答案 1 :(得分:0)
如果您在活动之间来回导航,额外的可以更改,最好放行
News news = (News) getIntent().getSerializableExtra("News");
onResume
中的,因为onCreate
只会在第一次创建活动时调用,但如果它在堆栈中并稍后移到顶部则不会被调用。如果您的第二个Activity是静态的且额外的永远不会更改,那么最好将代码放在onCreate
。