1 回答
TA贡献1828条经验 获得超4个赞
问题出在这段代码中:
@Override
public Fragment getItem(int position) {
//returning the current tabs
switch (position){
case 0:
Tab1 tab1 = new Tab1();
return tab1;
case 1:
Tab2 tab2 = new Tab2();
return tab2;
case 3:
Tab3 tab3 = new Tab3();
return tab3;
default:
return null;
}
}
具体来说,这一行:
case 3:
这应该是case 2相反的。因为它是现在,您将返回null从default你的第三个页面的情况。
顺便说一句,我建议改变你处理这种情况的方式。null我认为您应该这样做,而不是从默认情况下返回:
case default:
throw new IllegalArgumentException("unexpected position: " + position);
如果你有这个而不是return null,你的错误会更加明显。你会看到的
IllegalArgumentException:意外位置:2
这将帮助您意识到case 3.
一般来说,当你的程序在不应该出现的地方时,你应该总是抛出异常而不是返回一些默认值。
添加回答
举报