关于ViewPager中子Activity生命周期 混乱的问题解决方案
2014-11-05 09:21
357 查看
关于ViewPager中子Activity生命周期 混乱的问题解决方案
标签: viewpage 子activity 生命周期混乱做一个项目的时候,使用的viewpage+activity,刚开始没发现问题,后期发现子activity的onResume()方法一直不调用,从网上查了很多资料才找个解决方案。Google后得知大概是ViewPager中的子Activity"只是用了activity的各个窗口样子,没有将它们加入到AMS中管理"。故无法正确调用生命周期方法。从网上看的也有说通过广播来解决,但是我感觉不是很好,于是耗费了一天时间,在网上飞舞,当看到这位仁兄的见解,才让我茅塞顿开。解决办法是自定义方法来模拟Activity的onResume和onPause,然后在ViewPager所在的父Activity中手动调用子Activity中自定义的伪生命周期方法。
废话不说,上代码:
某子Activity中
public void invisibleOnScreen(){
log.d("invisibleOnScreen");
}
public void goneOnScreen(){
log.d("goneOnScreen");
}
invisibleOnScreen相当于onResume,goneOnScreen相当于onPause
父Activity中
@Override
protected void onResume() {
super.onResume();
log.d("onResume");
mActivityManager.dispatchResume();
if(mViewPager != null){
switch (mViewPager.getCurrentItem()) {
case 0:
Activity _activity = mActivityManager.getActivity(A);
if(_activity != null && _activity instanceof MyActivity){
((MyActivity)_activity ).invisibleOnScreen();
}
break;
default:
break;
}
}
}
因为在给ViewPager设定Adapter时已经使用
mActivityManager.startActivity(tag, intent).getDecorView()
来给每个子Activity设置tag了,所以可以直接用
mActivityManager.getActivity(A);
来获取子Activity 接下来在父Activity的onPause和OnPageChangeListener中手动调用子Acticity的伪生命周期函数即可
http://blog.csdn.net/guxiao1201/article/details/8887320
相关文章推荐
- 关于ViewPager中子Activity生命周期 混乱的问题解决方案
- 关于ViewPager中显示fragment的生命周期调用问题
- 关于ViewPager和Fragment配合使用生命周期的问题。
- 关于activity被重启后viewpager的数据不刷新的问题
- 关于Activity中的Viewpager中的Fragment的生命周期
- 关于ViewPager Activity的一个问题
- 关于viewpager+tablayout.切换pager生命周期方法的问题
- 关于iOS中UITableView下拉距离短刷新没事,下拉距离长就会崩溃的问题解决方案
- 关于ScrollView中嵌套ListView和Viewpager问题
- 【android】关于使用ViewPager和LayoutInflater的出现问题
- 关于activity的启动模式问题,生命周期和TabActivity是如何做到视图切换的
- Android:关于Viewpager中的Fragment 滑动时保存状态的问题
- 友盟页面统计 - 关于Viewpager中的Fragment的生命周期
- ScrollView中嵌套的viewPager,viepager高度设置为wrap_content时内容不显示问题以及与scrollview冲突的解决方案
- 关于ViewPager的数据更新问题小结
- 关于ViewPager加载多个导致OOM内存溢出的问题。
- 近期关于adt 创建工程失败的问题(activity创建失败) 的解决方案
- Android关于含有SurfaceView的View会导致其他空间出问题的解决方案
- ViewPager中有Activity的按键捕获问题
- 关于ViewPager的数据更新问题小结