手记

记录我在Android开发中遇到的大大小小的问题

做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;
    }


有个小问题:所有问题通过链接跳转好,还是长篇大论都写在这个页面?可以给个好的建议

原文链接:http://www.apkbus.com/blog-642938-60385.html

0人推荐
随时随地看视频
慕课网APP