【发布时间】:2018-07-25 12:38:55
【问题描述】:
我有这段代码实现了RecyclerView,我想添加一些手势。我想做两件事,但我不知道,因为我是新手。
当有人点击
RecyclerView时,我想在进入回收站之前从Activity捕获事件。这就是我从dispatchTouchEvent返回 true 的原因。但它不起作用,因为调用了 onTouch。-
如果我们允许事件向下传递,当触摸事件进入回收器(OnTouch 方法)时,
Activity的onTouchEvent不会被调用。它应该被调用,因为事件处理冒泡了。public class MainActivity extends AppCompatActivity implements View.OnTouchListener{ private RecyclerView recyclerView; private GestureDetectorCompat detector; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); detector = new GestureDetectorCompat(this, new GestureDetector.SimpleOnGestureListener() { @Override public boolean onFling (MotionEvent e1, MotionEvent e2,float velocityX, float velocityY){ return false; } }); recyclerView.setOnTouchListener(this); } @Override public boolean onTouchEvent(MotionEvent event) { return detector.onTouchEvent(event); } @Override public boolean onTouch(View v,MotionEvent event) { return detector.onTouchEvent(event); } @Override public boolean dispatchTouchEvent(MotionEvent ev){ super.dispatchTouchEvent(ev); return true; } }
【问题讨论】:
-
在activity中捕捉到一个touch事件后你想做什么?
标签: android android-recyclerview android-event android-touch-event