做Android开发一年了,有些之前遇到过的问题 都没法记录,以后每个问题我都会加个问题出现的时间,附带解决方案。
2016年4月28日记录:昨天遇到的问题在今天解决了。ViewPager+Fragment+FragmentStatePagerAdapter组合实现不同的页面展示,页面的切换通过Viewpaer外面的不同的按钮来实现。昨天遇到的问题就是在导致页面切换出现 空引用,百度后稍微了解FragmentStatePagerAdapter这东西会在页面切换的时候把之前加载的页面销毁掉。或者说默认只加载当前页。页面切换的时候旧的页面被销毁,再跳回去就回出现空引用,网上的方法是禁止子view被销毁。 我的解决方法就是在FragmentStatePagerAdapter 中重写destroyItem方法。实现很简单 就是注释掉super.destroyItem(....)方法。 如下
@Override public void destroyItem(ViewGroup container, int position, Object object) { //这里Destroy的是Fragment的视图层次,并不是Destroy Fragment对象 //super.destroyItem(container, position, object); }
同时还有个问题就是由于是由按钮去控制跳转 所以要禁止ViewPager手动滑动。所以我在ViewPager中定义一个属性Scrollable,重写touch事件和touch拦截事件如下。
@Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (Scrollable){ return super.onInterceptTouchEvent(arg0); } return false; } @Override public boolean onTouchEvent(MotionEvent arg0) { // TODO Auto-generated method stub if (Scrollable){ return super.onTouchEvent(arg0); } return false; }
有个小问题:所有问题通过链接跳转好,还是长篇大论都写在这个页面?可以给个好的建议
译
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦