今天我注意到,当您在ListView中快速双击拖动时,列表将转到列表的末尾或开头。看来,这只发生在三星手机。Android - Samsung问题 - ListView快速滚动双击拖动
这已经成为一个问题,因为我将JazzyListView动画效果添加到列表上的元素,并且只要发生快速移动,它们就会崩溃。 (每当调用ListView.layoutChildren方法时,NullPointerException)
也许我需要修改库,或者是否有任何方法来禁用此ListView行为?
今天我注意到,当您在ListView中快速双击拖动时,列表将转到列表的末尾或开头。看来,这只发生在三星手机。Android - Samsung问题 - ListView快速滚动双击拖动
这已经成为一个问题,因为我将JazzyListView动画效果添加到列表上的元素,并且只要发生快速移动,它们就会崩溃。 (每当调用ListView.layoutChildren方法时,NullPointerException)
也许我需要修改库,或者是否有任何方法来禁用此ListView行为?
那么这种效应被称为“DOUBLE FLING”,它每当我这样做,可惜在AbsListView你可以做投掷的唯一的事情是设置摩擦和速度的规模出现在logcat中。如果有人知道如何禁用的影响将是巨大的(但是这可能不是这个问题的最佳解决方案,因为用户可能熟悉这种行为)
我做什么(我快+肮脏的解决方案)是修改JazzyListView库,具体JazzyHelper类,仅在确认该项目是不适用动画之前空:
while (firstVisibleItem + indexAfterFirst < mFirstVisibleItem) {
View item = view.getChildAt(indexAfterFirst);
if(item != null) {
doJazziness(item, firstVisibleItem + indexAfterFirst, -1);
}
indexAfterFirst++;
}
int indexBeforeLast = 0;
while (lastVisibleItem - indexBeforeLast > mLastVisibleItem) {
View item = view.getChildAt(lastVisibleItem - firstVisibleItem - indexBeforeLast);
if(item != null) {
doJazziness(item, lastVisibleItem - indexBeforeLast, 1);
}
indexBeforeLast++;
}
我相信,我应该修改一些有关实例属性mFirstVisibleItem,否则fastscrolling上删除动画显示项目。但是,我的解决方案适用于任何想快速解决此问题的人。