Android开发经验谈Android技术知识Android

ViewPagerIndicator和FragmentPager

2016-07-29  本文已影响844人  亲爱的村姑
一张图

ViewPagerIndicator是Jake Wharton大神的一个知名开源框架。使用它和FragmentPagerAdapter可以轻松实现类似微信底部切换fragment的功能。具体做法可以参考 @Hi_陈利健的大作开源控件ViewPagerIndicator的使用

现在说说我写的时候踩的一个大坑。不知道为什么我用FragmentPagerAdapter塞进去的Fragment忽闪忽现,有时候出现,有时候就给我白屏。完全看心情。找了半天原因,扯了半天头发,发现。。。

成功与失败,有时候只隔着一个单词的距离。

其实这次踩坑不是因为坑大,是我眼瞎。。我一直以为findViewById是只能通过activity调用的。所以我所有Fragment中的赋值工作都放在onActivityCreated方法了。但这样做的话ViewPagerIndicator就不知道怎样把tab和fragment配搭起来了。正确的做法是把Fragment的赋值工作放在onCreateView里面。可是问题来了,onCreateView里面activity还没有被创建好,强行用activity.findViewById的话会报空指针异常。这可这么办?这时候我才发现,原来View可以调用findViewById!!!

//动态找到布局文件,再从这个布局中find出TextView对象 
View contextView = inflater.inflate(R.layout.fragment_item, container, false); 
TextView mTextView = (TextView) contextView.findViewById(R.id.textview);

这样,就可以在onCreateView里进行赋值工作了。运行成功!从activity到view,一词之别,输赢之分。这就是代码的魅(ke)力(pa).

上一篇下一篇

猜你喜欢

热点阅读