我遇到了Android版本2.1的问题,看起来像是一个错误。我在我的listView上附加了一个OnScrollListener。我使用方法onScrollStateChanged(AbsListView view, int scrollState)来监视listView的滚动状态。根据文档,滚动状态可以有3个值:
1. SCROLL_STATE_FLING:用户之前使用触摸进行滚动并执行了fling(快速滑动),现在动画正在缓慢停止。 2. SCROLL_STATE_IDLE:视图没有滚动。请注意,使用轨迹球导航列表计为处于空闲状态,因为这些转换没有动画效果。 3. SCROLL_STATE_TOUCH_SCROLL:用户正在使用触摸滚动,并且他们的手指仍在屏幕上。
我认为SCROLL_STATE_IDLE将始终在其他两个状态之后传递。除了Android 2.1,这总是正确的。在SCROLL_STATE_TOUCH_SCROLL之后不会传递SCROLL_STATE_IDLE。如果你用手触碰而不是让滚动自己停止来停止fling,则会出现问题。这种奇怪的行为使得我的listView处于不一致的状态。是否有人遇到了同样的问题?建议使用“不那么糟糕”的解决方法?
1. SCROLL_STATE_FLING:用户之前使用触摸进行滚动并执行了fling(快速滑动),现在动画正在缓慢停止。 2. SCROLL_STATE_IDLE:视图没有滚动。请注意,使用轨迹球导航列表计为处于空闲状态,因为这些转换没有动画效果。 3. SCROLL_STATE_TOUCH_SCROLL:用户正在使用触摸滚动,并且他们的手指仍在屏幕上。
我认为SCROLL_STATE_IDLE将始终在其他两个状态之后传递。除了Android 2.1,这总是正确的。在SCROLL_STATE_TOUCH_SCROLL之后不会传递SCROLL_STATE_IDLE。如果你用手触碰而不是让滚动自己停止来停止fling,则会出现问题。这种奇怪的行为使得我的listView处于不一致的状态。是否有人遇到了同样的问题?建议使用“不那么糟糕”的解决方法?