避免使用smoothScrollToPosition或setSelection向后滚动

时间:2014-04-30 01:18:30

标签: android listview android-listview

当我在ListFragment中使用getListView()。smoothScrollToPosition并且该行在屏幕中可见时,listview总是从顶部向后滚动。

当我选择同一行或在屏幕上显示该行时,我可以做些什么来避免向后滚动?

抱歉我的英文不好

非常感谢!

2 个答案:

答案 0 :(得分:0)

if (position < getListView().getFirstVisiblePosition()
        || position > getListView().getLastVisiblePosition())
{
    getListView().smoothScrollToPosition(position);
}

答案 1 :(得分:0)

最后这项工作:

public void scrollToPosition(final int position) {

    View v = getListView().getChildAt(0);
    int top = (v == null) ? 0 : v.getTop();

    getListView().setSelectionFromTop(position, top);

}