永发信息网

安卓开发 如何设置ViewPager中每一页的view(就像LinearLayout中的setVi

答案:2  悬赏:30  手机版
解决时间 2021-04-02 21:37
安卓开发 如何设置ViewPager中每一页的view(就像LinearLayout中的setVi
最佳答案
viewPager通常是通过适配器Adapter来管理每一页的view的。
ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。
ViewPager类需要一个PagerAdapter适配器类给它提供数据。
ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类供Fragment中的ViewPager使用。


ViewPager的数据是通过PageAdapter来装载的,刷新数据的方法有以下:
    1. 调用adapter.notifyDataSetChanged(); 刷新控件,但是要覆盖PagerAdapter的getItemPosition方法,并返回 return POSITION_NONE;
    2. 利用PagerAdapter的工作机制,就是PagerAdapter的执行顺序, PagerAdapter作为ViewPager的适配器,无论ViewPager有多少页,PagerAdapter在初始化时也只初始化开始的2个View,即调用2次instantiateItem方法。而接下来每当ViewPager滑动时,PagerAdapter都会调用destroyItem方法将距离该页2个步幅以上的那个View销毁,以此保证PagerAdapter最多只管辖3个View,且当前View是3个中的中间一个,如果当前View缺少两边的View,那么就instantiateItem,如里有超过2个步幅的就destroyItem。
    3. 每当Adapter调用instantiateItem时,运用View.setTag方法将该View标识。当需要更新这个View的数据时,通过调用ViewPager.findViewWithTag方法找到相应的View,然后更新View中的数据。
全部回答
你把ViewPager想象成Listview就行了,不过数据是VIEW或FRAGMEN设置好适配器,在适配器的instantiateItem 里面返回VIEW就可以了,可以自己多看看网上的VIEWPAGER教程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在韩流馆买的产品和网站上的图片一摸一样吗?
请概括晏子与甘罗有什么共同点
新奥拓故障代码是p0171怎么排除
Excel 中=A4&B4是什么意思?
长虹电视显示AV输入二是什么意思呀
我和妈妈发生了超过母子以外的感情 和关系 怎
A3钢是冷板吗?
05年100元人民币长宽大小不一致是怎么回事
想做直播,来钱块的哪种直播,没人知道怎么播
三星sm一G35091价格是多少
为什么我电脑没有装pps,扫描垃圾的时候有这个
汽车起步是否要给油
现在军训学生投稿,我们准备设置3个奖项。分
冬天进䃼,
Cortana的语言支持
推荐资讯
家装天地一套80平的房子,简装需要多久时间
硬笔书法,如何写好横?写横时如何起笔,运笔
mybatis 运行sql语句怎么找
41岁单亲目前嫁24岁男友章丘完整版
婵 是什么意思
《观沧海》中描写实景的句子有哪些?
8.29十3.7十O.71十6.3
香约咖啡语茶地址在哪,我要去那里办事,
谁有QQ号送我一个
怎么办啊?太丢脸了。
液晶触摸屏一体机的触摸屏为何触摸无呼应?
正在建设中的厦深高铁(厦门-深圳)起止点所
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?