我需要我的listview随时滚动到特定位置,将行放在listview顶部的这个位置。
为此,我使用smoothScrollToPositionFromTop(int position, int offset, int duration)
现在让我们说我的魔杖从索引6到10,它滚动顺畅。在那之后让我说我想要倒退,例如,滚动根本不平滑,它看起来像是一个快速的翻译。
知道我可能缺少什么或任何解决方法吗?
答案 0 :(得分:0)
我认为在返回时使用smoothScrollToPositionFromTop()
是造成问题的原因。
更喜欢使用smoothScrollToPosition()
。
答案 1 :(得分:0)
解决!我不得不使用一种解决方法,基本上:
int topPosition = mListView.getFirstVisiblePosition();
if (targetPosition > topPosition) {
mListView.smoothScrollToPositionFromTop(targetPosition, 0, duration);
} else if (targetPosition < topPosition) {
View firstView = mListViewWeeks.getChildAt(0);
int height = firstView.getHeight();
mListView.smoothScrollBy(-height * (topPosition - targetPosition), duration);
}