一、现象:
通过ViewPager+TabHost可以实现点击选项卡滑动,或者通过手势拖动滑动。因为考虑到组件比较多,不能将所有的组件监听响应写在一个类,所以需要既可以在ViewPager中的视图“点击”(以一个按钮为例)响应又能在TabHost中的activity“点击”响应的效果。
很幸运,按钮能响应,但是将按钮组件的监听方法写到onResume方法中的时候,按钮就不能响应了,但是能够打印语句,能加载数据。可以为什么按钮等组件不能更改UI了呢?
二、分析:
我在需要滑动的三个activity中的onCreate,onStart,onResume方法中分别打印输出作为判断该方法执行了的方式System.out.println("A onCreate");,,,
结果发现都是ViewPager会将三个Activity的视图添加到自己的队列以便滑动显示,所以一开始三个Activity A B C 都有打印 onCreate和onStart然后再是TabHost添加Activity,当显示A的时候A才打印onresume,但是还是没用,因为这个时候显示的视图都是ViewPager中的View
三、解决:
之前试了很多办法,线程,handler等都没有用。其实像按钮等的监听以及listview等的监听都可以写在oncreate中,需要动态判断显示UI活加载数据的写在onresume中。
解决:将需要动态显示隐藏或要改变值的组件的设置为static,这样ViewPager和TabHost访问的都是同样的属性。
- 描述: resume之后
- 大小: 23.9 KB
- 描述: 滑动效果
- 大小: 21.5 KB
- 描述: resume之前
- 大小: 29.3 KB
- 描述: 创建过程
- 大小: 5.3 KB
分享到:
相关推荐
ViewPager+Fragment实现选项卡效果滑动切换,滑动切换界面或者点击页卡切换
使用ViewPager+RadioGroup+Fragment实现选项卡
可根据需求自定义tabhost,带信息提示,viewpager左右滑动,底部...现在有个问题,每次进入应用都会加载所有的activity,我想改成每次进入只加载第一个,其他activity页面是滑动或点击tab的时候动态加载数据。能解决的mm
ViewPager+Fragment+DrawableLayout + NavigationView实现页面水平滑动与侧滑抽屉布局
android实现可滑动标签页有很多方法,这里给大家介绍一种官方推荐,性能最高,并且代码最少的方式,就是利用FragmentTabhost+ViewPager+FragmentPagerAdapter来实现。
使用ViewPager+Fragment实现页面点击切换和手势滑动,页面很流畅,有动画效果
TabHost+ViewPager实现滑动tabhost, viewPager;tabhost;滑动;源码
fragment+viewpager+tablayout实现选项卡,底部选项卡,禁止滑动切换,实现了禁止懒加载判断,如果想要滑动的话把自定义viewpager 换成原包的viewpager就可以,代码中判断了fragment的真是过程,亲测好用,直接可以...
ViewPager 结合Fragment实现一个Activity里包含多个可滑动的标签页,每个标签页可以有独立的布局及响应
ViewPager实现Tabhost效果
TabLayout+ViewPager+Fragment实现分页滑动效果Demo
使用ViewPager + Fragment实现滑动切换页面的简单样例
Android底部导航栏——FragmentTabHost+ViewPager+Fragment
ViewPager+GridView实现宫格横向分页滑动切换
Android ViewPager+Fragment,ViewPager标示跟着ViewPager滑动而同时滑动
ViewPager和Tabhost结合,可滑动的tabhost源代码,是一个很不错的Android源码,有兴趣的伙伴们抽时间可以看一下把
滑动页面里面套滑动广告(ViewPager+FrameLayout)
安卓Android源码——ViewPager和Tabhost结合,可滑动的tabhost.rar
好用的代码,主要是ViewPagerhe和Fragmen之间的用处,解决了冲突问题
Android ViewPager Fragment实现选项卡