android.content.res.Resources$NotFoundException: Unable to find resource ID 0#0xffffffff
老是报这个错误。弄了一天都无法明白是什么问题。检查代码没有问题,就是报错。
根据错误日志我们可以看出这里出现了资源未找到异常,根据以往的经验,可能是ID引用出现问题,但是这个错误日志并没有告诉我们问题出现的具体地方,所以是比较难找的一种。
其实我这里是自定义了一个linearlayout,在linearlayout中通过addview()方法,添加了一个viewpager,这个viewpager就直接new出来的。因此没有id,所以,这里找不到资源是指没有找到这个viewpager的id。代码如下:
public class MyProjectViewPagerLayout extends LinearLayout implements OnClickListener{
private Context context;
//导航栏
private LinearLayout linear_navigation;
//viewpager栏
private LinearLayout linear_viewpager;
//标题栏滚动条
private HorizontalScrollView scrollview;
private ViewPager viewpager;
// //用于导航栏的滑动
private Matrix matrix;
//导航栏当前偏移量
private float ffo;
//屏幕宽度
private int mWidth;
//单个选项卡宽度
private int width;
//标题数组
private String[] titles;
//页面单次展示标题个数
private int maxColumn = 3;
......
public MyProjectViewPagerLayout(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
init();
}
private void init(){
setDefaultWidth();
setDefaultLinears();
setViewPager();
}
//设置一个viewpager
private void setViewPager(){
if(viewpager==null){
viewpager = new ViewPager(context);
viewpager.setId("project_viewpager".hashCode()); //这里没有设置id
}
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
viewpager.setLayoutParams(params);
viewpager.setOnPageChangeListener(new MyOnViewPagerChangeLintener());
linear_viewpager.addView(viewpager);
}
}