android - Fling on ListView - 什么方向?

标签 android listview direction onfling

有没有办法在附加到 ListView 的 ScrollListener 中获取 Fling 的方向(向上或向下)?我得到 OnScrollListener.SCROLL_STATE_FLING 没有问题,但我无法获得方向。我是否必须为此编写一个完整的 GestureListener 和 onTouch 监听器并将其附加到我的 ListView 或是否有更简单的方法?我只需要 Fling 的方向而已。感谢您的回答。

最佳答案

Do I have to write a whole GestureListener and onTouch listener and attach it to my ListView for this or is there an easier way?

您可以像这样简单地使用 OnTouchListener:

listView.setOnTouchListener(new OnTouchListener() {
    int before = -1;
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch(event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            before = ((ListView) v).getFirstVisiblePosition();
            break;
        case MotionEvent.ACTION_UP:
            int now = ((ListView) v).getFirstVisiblePosition();
            if(now < before)
                Log.v("onTouch", "Scroll Up");
            else if(now > before)
                Log.v("onTouch", "Scroll Down");

        }
        return false;
    }
});

如果您只想在滑动发生时得到通知:将当前滚动状态保存在 OnScrollListener 的 onScroll() 方法中并检查是否是滑动 Action 。

关于android - Fling on ListView - 什么方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994969/

相关文章:

android - 特定 avd 的 adb shell 和 adb push

wpf - 为什么 WPF ListView 主题不起作用?

java - 使用 ListView 从另一个 Activity 打印 ArrayList

css - 基于静态变量从 Less 创建多个 CSS 文件

iphone - MKMapView 路线/方向

android - AsyncTasks 和音频

java - 如何在android中每N秒检查一次互联网连接

java - 在 Android SharedPreferences 中使用当前日期作为键

android - 可扩展 ListView 的 setOnItemClickListener() 和 setOnGroupClickListener() 之间有什么区别?

java - 使用 keyPressed 检测键盘方向键