实现Chris Banes的拉动与列表视图上的水平滑动一起刷新

时间:2012-01-02 12:01:21

标签: android listview swipe pull-to-refresh

我已实施(从此处horizontal swipe on listview)滑动手势以在列表视图中标记 - 取消标记项目。我使用Johan Nilsson的pull to refresh实现来刷新列表视图中的项目。拉动刷新功能显示出一些突然的行为 -

  • 有时会显示“点击刷新”
  • 有时候没有完全隐藏
  • 有时不会从“拉到刷新”变为“释放......”

我现在切换到Chris Banes'implementation。 “拉动刷新”功能现在可以完美运行,但“滑动”功能已停止工作。 “滑动”非常有效。

        final GestureDetector gestureDetector = new GestureDetector(
            new MyGestureDetector());
    View.OnTouchListener gestureListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            return gestureDetector.onTouchEvent(event);

        }
    };
    postListView.setOnTouchListener(gestureListener);

postListView是PullToRefreshListView postListView = (PullToRefreshListView) linearLayout.findViewById(R.id.post_list);

我猜它不起作用,因为即使是Chris的实现也会使用 -

         public boolean onTouch(View v, MotionEvent event) {
            //something over here

         }

现在,我如何在这两个地方使用它而没有任何冲突?我需要检测listview行上的手势以及收听列表视图。

1 个答案:

答案 0 :(得分:4)

postListView.getRefreshableView()setOnTouchListener(gestureListener)。适合我