본문 바로가기
개발 시행착오 정리

[안드로이드] 리사이클러뷰 안에 리사이클러뷰 사용시 안에 있는 리사이클러뷰가 터치가 안될 때

by 문톰 2023. 1. 5.

리사이클러뷰안에 리사이클러뷰를 넣을 때 안에있는 리사이클러뷰가 터치 이벤트가 발생하지 않아 스크롤이 되지 않는 문제가

발생했습니다.  그럴 경우 아래의 코드를 참고하시면 됩니다.

val mScrollTouchListener: OnItemTouchListener = object : OnItemTouchListener {
    override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean {
        val action: Int = e.action
        when (action) {
            MotionEvent.ACTION_MOVE -> rv.parent.requestDisallowInterceptTouchEvent(true)
        }
        return false
    }

    override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) {
    }

    override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {}
}

 

1.먼저 OnitemTouchListener 객체를 만든다.

binding.rvTxItemDetailAnesthesiaList.addOnItemTouchListener(mScrollTouchListener)

2.그리고 setonClickListener 대신에 addOnItemTouchListener메서드안에 Listener객체를 넣어주면 됩니다.

 

댓글