在onTabSelected里面调用viewPager.setCurrentItem方法
发生了java.lang.NullPointerException错误,一开始看自己的代码,什么错误都没有,和官网的示例代码是一模一样的,但只要在onTabSelected里调用setCurrentItem就会报错,苦思冥想了好久,发现和官网代码唯一不同的就是初始化ActionBar和ViewPager的位置不一样,官网先初始化ViewPager,再初始化ActionBar,我反过来了,然后我把顺序也改的和官网一样,结果就可以运行了。
原因是:
因为在向ActionBar添加Tab的时候,默认会把第一个Tab设置为被选择的状态,所以会先调用一次onTabSelected,
而这个时候,ViewPager还没有初始化,所以调用viewPager的setCurrentItem就会报出NullPointerException。。。。。
编程真难
初始化顺序影响ViewPager使用与NullPointerException解决
在向ActionBar添加Tab并默认选择第一个Tab时,若先初始化ActionBar导致ViewPager未初始化,随后调用viewPager.setCurrentItem将引发NullPointerException。通过调整初始化顺序至先初始化ViewPager,再初始化ActionBar,可避免此错误,解决编程难题。
4157

被折叠的 条评论
为什么被折叠?



