为什么Activity的onResume不被执行?

002大破天幕杀机 2010-05-06 06:29:53
用LocalActivityManager的startActivity函数创建一Activity,并返回Window,然后从window中取出view放到framelayout中,发现Activity的onResume函数不被执行。不知道怎么回事?
...全文
3582 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yyy025025025 的回复:]
如果你将m.dispatchCreate(savedInstanceState); 改为m.dispatchResume(); 那么下个 activity 就会跑到onResume中了。
[/Quote]

问题解决了,需要调用LocalActivityManager的disptchResume()函数才可以唤起activity的onResume函数。
yihua0001 2010-05-23
  • 打赏
  • 举报
回复
onResume是不是系统休眠之后,被唤醒才会去执行的函数啊?
yyy025025025 2010-05-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 yyy025025025 的回复:]

感觉是LocalActivityManager把activity hold在onResume之前。

试了一下,发现唤起的activity 只跑了onCreate和onStart。看了代码,发现startActivity中,有个变量mCurState,在你的调用中它只是INITIALIZING状态,所以activity 不会跑到onResume中。
[/Quote]

如果你将m.dispatchCreate(savedInstanceState); 改为m.dispatchResume(); 那么下个 activity 就会跑到onResume中了。
yyy025025025 2010-05-20
  • 打赏
  • 举报
回复
感觉是LocalActivityManager把activity hold在onResume之前。

试了一下,发现唤起的activity 只跑了onCreate和onStart。看了代码,发现startActivity中,有个变量mCurState,在你的调用中它只是INITIALIZING状态,所以activity 不会跑到onResume中。
zouxueping 2010-05-20
  • 打赏
  • 举报
回复
TAB是用来管理多个activity而不是多个view的
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zouxueping 的回复:]

TAB是用来管理多个activity而不是多个view的
[/Quote]

在TabHost.java文件中,就是把activity的view取出来了。然后tab对view进行管理。

可以查看TabHost.java的第644行。
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zouxueping 的回复:]

楼主的做法很特殊啊,LocalActivityManager是这么说明的:Helper class for managing multiple running embedded activities in the same process. This class is not normally used directly, but rather created for you as part o……
[/Quote]

源代码中的TabHost.java就是使用了LocalActivityManager才创建了多个view的。可是源代码这么做,Activity的onResume会执行。
vclongking 2010-05-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 partner4java 的回复:]
引用 1 楼 vclongking 的回复:
LZ要上代码 才可能知道问题啊

大姐很活跃啊
其实他贴了代码,也买看明白他说的什么
[/Quote]呵 , 这么关注美女嗦
zouxueping 2010-05-10
  • 打赏
  • 举报
回复
楼主的做法很特殊啊,LocalActivityManager是这么说明的:Helper class for managing multiple running embedded activities in the same process. This class is not normally used directly, but rather created for you as part of the ActivityGroup implementation.
而且把一个窗口的内容加入另一个窗口又是为什么呢,android支持吗,不太理解。
  • 打赏
  • 举报
回复
onCreate也执行了,而且MyActivity确实显示出来了
  • 打赏
  • 举报
回复
LocalActivityManager m = new LocalActivityManager(this, true);
m.dispatchCreate(savedInstanceState);
Intent iActivity = new Intent(this, MyActivity.class);
final Window w = m.startActivity("MyActivity", iActivity);
View view = w.getDecorView();



frameLayout.addView(view, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT));
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 partner4java 的回复:]

引用 1 楼 vclongking 的回复:
LZ要上代码 才可能知道问题啊

大姐很活跃啊
其实他贴了代码,也买看明白他说的什么
[/Quote]

楼上的集点儿口德
partner4java 2010-05-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vclongking 的回复:]
LZ要上代码 才可能知道问题啊
[/Quote]
大姐很活跃啊
其实他贴了代码,也买看明白他说的什么
  • 打赏
  • 举报
回复
拜托了
vclongking 2010-05-06
  • 打赏
  • 举报
回复
LZ要上代码 才可能知道问题啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧