android – 停止在列表视图中滚动

我的活动中有listview和imagebutton.
当我单击图像按钮时,我想转到列表中的特定位置(我通过调用列表中的setSelection(int position)来执行此操作.
当用户fling listview然后单击图像按钮时,会出现问题.
列表转到指定位置但继续滚动.

例如.当我进入投掷模式,单击按钮,然后我转到第四个位置,但列表视图继续滚动,所以我最终选择了25

最佳答案
我已经编写了简单的方法来使用反射停止scoll ListView.

private void stopScroll(AbsListView view)
{
    try
    {
        Field field = android.widget.AbsListView.class.getDeclaredField("mFlingRunnable");
        field.setAccessible(true);
        Object flingRunnable = field.get(view);
        if (flingRunnable != null)
        {
            Method method = Class.forName("android.widget.AbsListView$FlingRunnable").getDeclaredMethod("endFling");
            method.setAccessible(true);
            method.invoke(flingRunnable);
        }
    }
    catch (Exception e) {}
}

只需调用stopScroll(myListView);当你需要停止滚动.

转载注明原文:android – 停止在列表视图中滚动 - 代码日志