SwipeRefreshLayout和TextView滑动冲突的暴力解决方法

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
}

你可能感兴趣的:(kotlin)