zoukankan      html  css  js  c++  java
  • PagerAdapter适配有条目,但是空白?

    其实关键点还是在这个方法,这是pagerAdapter里的方法,用于判断两个对象是否相等,我对viewpager的实现原理是这么理解的:先初始化后——再去获取——判断是否初始化的对象与获取到的对象是否一样;当然判断不一样就不会显示了;当然这只是我理解的,我还没有真正去研究它原理

    @Override
        public boolean isViewFromObject(View view, Object obj) {
            return view==obj;
        }

    大家来看一下,我出现的错误instantiateItem是我写在pagerAdapter里面的接口的方法,用来初始化viewpager的条目内容

    @Override
        public Object instantiateItem(View container, int position) {
            ((ViewPager)container).addView(instantiateItemListener.instantiateItem(context, data,container,position));
            return instantiateItemListener.instantiateItem(context, data,container, position);
    
        }

    或许你们已经看出来,关键在这一句,问题就在于,我addView的时候,初始化一次,返回方法对象的时候又调用了instantiateItem初始化了一次。所以两个对象是不一样,所以viewpager就不显示 了

    return instantiateItemListener.instantiateItem(context, data,container, position);

    正确的写法是:

        @Override
        public Object instantiateItem(View container, int position) {
            View view = instantiateItemListener.instantiateItem(context,data,container,position);
            ((ViewPager)container).addView(view);
            return view;
        }

    这样就一样,哈哈!

    关注我
  • 相关阅读:
    Ubuntu 14.04的SWAP 为0
    堆和栈的区别(转过无数次的文章)
    加法乘法判断溢出(转)
    大端格式、小端格式(转)
    Linux 目录操作和4中文件拷贝效率测试
    Linux使用标准IO的调用函数,分3种形式实现
    支持 onload 事件的元素
    $().each() 和 $.each()
    npm install --save 与 npm install --save-dev 的区别
    <!DOCTYPE html>作用
  • 原文地址:https://www.cnblogs.com/zengmianhui/p/12634076.html
Copyright © 2011-2022 走看看