2

我有一个小问题,将pulltorefresh库与swipe 一起使用来关闭 ListView。问题是,在用户开始从视图中滑出一个项目后,pulltorefresh 仍然接受触摸事件,并且基本上允许在将项目滑出视图的同时刷新视图,如果用户不仅水平滑动,而且更多对角线。

有没有办法在滑动手势中完全吃掉触摸事件?我了解 Android 如何调度触摸事件。实际上,EnhancedListView 在滑动项目时从 onTouchEvent 返回 true,我猜这应该防止事件传递给容器(使用 pulltorefresh)。

你对如何解决这个问题有什么建议吗?谢谢

4

3 回答 3

2

我也面临同样的问题。答案是禁用它!;)

mPullToRefreshLayout.setEnabled(false);

并启用它,

mPullToRefreshLayout.setEnabled(true);
于 2014-12-22T19:33:06.480 回答
1

如果您使用 Tim Roes EnhancedListView

看到这个问题。我对我非常有用,因为他们添加了一个功能,可以检测何时开始滑动以及何时结束滑动。

当滑动开始时,我禁用 SwipeRefreshLayout,当滑动完成时,我启用 swipeRefreshLayout。

于 2014-08-29T08:35:16.260 回答
0

最简单的方法是

删除监听器 mRefreshLayout.setOnRefreshListener(null); 在onRefresh(); 并在获取结果后将其设置回 mRefreshLayout.setOnRefreshListener(this);

于 2017-05-16T18:34:30.100 回答