我在Activity-A中有一个RecyclerView
,其ItemTouchHelper
已注册以检测onLongPress
。 Activity-B是非全屏活动,并在收到推送时从Activity-A开始。在活动A的onPause
中,我删除了触摸助手,并在onResume
中添加了它。
touchHelper.attachToRecyclerView(null);
[...]
touchHelper.attachToRecyclerView(mRecyclerView);
当用户按住onPause
时,当活动A调用RecyclerView
时,ItemTouchHelper
内的RecyclerView-Instance设置为null,但GestureDetector
为onLongPress
检测到NullpointerException
尝试之后立即访问它。因此它会导致onTouchEvent
。
这似乎是一个已知的错误:https://issuetracker.google.com/issues/37092256
在调用onLongPress
之后和r
被触发之前,是否有某种方法可以中断GestureDetector?