使用自定义控件的时候,需要使用到Scroller.compterScrollOffset()进行控件滑动是否完成的判断。很意外的是给我报出这样的错误:
错误提示我:引用了一个Scroller.compterScrollOffset()空对象。我又找到初始化Scroll的位置,如下图:
然后我又仔细想了想,这又不是控件需要findViewById,只需要new一个对象就行了。我寻思着思考的方向是不是想错了,那我们只有从mScroller.computeScrollOffset()考虑了。能引用空对象的就只有mScroller。computeScrollOffset()简单说就是判断View滑动是否结束。View?滑动?,再结合Logcat报错提示”引用一个空对象“,难道说没有找到View?
在这里介绍一下自定义控件中的三个构造函数:
Context:获取上下文,经常使用,就不用多说 了。
AttributeSet:查阅各种资料,最后发现是跟XML有关的。
defStyleAttr:跟系统Theme有关
我就在想既然AttributeSet跟XML有关,那我是不是在第二个里面再new一个Scroller。毕竟他们所调用的方式不同,试试看
查看logcat的信息,奈斯,没有报错。 。