【发布时间】:2013-11-28 17:26:36
【问题描述】:
当我调用 startActivityForResult(或 startActivity)时,即使在创建新活动之前,也会调用 MainActivity 的“onCreate”。 其他意图不会发生这种情况。
这是列表视图中具有适配器的按钮的单击处理程序内的代码(在 SherlockActionBar 选项卡内的片段内):
((MainActivity)context).setVideoId(v.getTag().toString());
Intent videoIntent = YouTubeStandalonePlayer.createVideoIntent((Activity) context, "AIzaSyC1sF6kq9hHGrQvRSiU8Ks5iYfVCbdg7zA", v.getTag().toString(), 0, true, false);
((Activity)context).startActivityForResult(videoIntent, 12);
这是适配器的构造函数:
public ItemAdapter(Context c, int textViewResourceId) {
super(c, textViewResourceId);
this.layoutResourceId = textViewResourceId;
this.context = c;
【问题讨论】:
-
在创建新活动之前调用 MainActivity 的 onCreate() 是什么意思?你遇到了什么错误?
-
我现在没有收到错误,但它正在制造问题。当我使用 YouTube 意图调用 StartActivity 时,似乎创建了 MainActivity(调用了 MainActivity 的 onCreate),然后显示了 YouTube 的活动。当我单击设备的后退按钮时,会再次创建 MainActivity。如果我更改代码并启动其他活动(不是 youtube 的),则不会再次创建 MainActivity。 youtube 意图的 getFlags() 返回 0。希望现在更清楚。
标签: android android-intent actionbarsherlock android-youtube-api start-activity