自定义的view在eclipse预览时报错

wKioL1V6Znbw0iNkAAOGPiQCKa4982.jpg


根据eclispe中提示Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse,定位到出错代码,将造成此错误的代码行用


if(!isInEditMode()){
//造成错误的代码段
}



包起来,这样在Eclipse中显示时将跳过此代码段而不再出现错误,修改后如下


wKioL1V6Z-DzjgieAAHX6Us2Vfs670.jpg


修改后如果你代码中的变量定义为final类型,会出现The blank final field laserColor may not have been initialized的错误,因为final类型必须在构造时初始化,即:要么在构造函数中设置,要么在变量定义之后设置。因为构造函数中加了if条件语句,所以final变量初始化语句不一定能被执行,所以我们去掉以下变量的final关键字,问题即可解决。

wKioL1V6adiBloIfAADOpboaH0k999.jpg