我没有选择,也许有人知道更好。我的问题是我有一个 ScrollView (descentand) 并在其中插入一个 View (descendant)。一切都很好,除非我想向上滚动(视图向上,手指向下)直到到达滚动区域的原点,在那之后我可以看到 MYView.onDraw() 大约每 130 毫秒调用一次,这会永远持续下去。
我发现这种奇怪的行为是由这段代码引起的:
myScrollView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.d("myapp", "onTouch");
if (event.getAction() == MotionEvent.ACTION_UP
|| event.getAction() == MotionEvent.ACTION_CANCEL) return true;
return false;
}
});
如果我注释掉if
声明,问题就解决了。我什至不确定这行代码是做什么的。它认为它应该禁用“减速”动量效应。(因为我的应用程序不需要它)。我想我从某人的样本中复制粘贴了这段代码,几个月前在这里。
所以问题是如何去掉“onDraws 的永恒循环”,仍然保留“无减速效果”的代码。