SwipeRefreshLayout和TextView滑动冲突
如果SwipeRefreshLayout中存在TextView,并且TextView被设置为可以上下滑动,那么在下滑TextView的时候会与SwipeRefreshLayout冲突,系统优先判断为SwipeRefreshLayout
网上查到的解决方案是,给TextView设置onTouchListener,在MotionEvent.ACTION_MOVE的时候禁止其parent获取滑动状态,实际用下来发现时灵时不灵的,思来想去想出了一个最简单暴力的解决方法:在点击TextView的时候禁用下拉刷新功能
mSwipe = findViewById(R.id.swipeRefresh)
tvText.setOnTouchListener { _, event ->
when (event.action) {
MotionEvent.ACTION_DOWN -> mSwipe.isEnabled = false
MotionEvent.ACTION_UP -> mSwipe.isEnabled = true
}
return@setOnTouchListener false
}