2010-08-09 6 views
1

저는 BaseAdapater를 확장하는 2 개의 어댑터가 있습니다. 첫 번째 어댑터 (imageAdapter라고 부름)는 ID에 이미지 기반을로드하고 두 번째 어댑터 (pageAdapter)는 첫 번째 어댑터에서 이미지 격자를 작성합니다. 두 번째 어댑터를 갤러리로 설정했습니다. 아이디어는 각 앨범에 여러 그림이있는 앨범의 페이지를 정렬 할 수 있다는 것입니다.OnClickListener 및 OnTouchListener

이제는 imageViews를 클릭하여 불을 끄고 싶습니다. 따라서 imageAdapter에서 각 imageViews에 대해 onClickListener를 설정합니다. 문제는 내가 onClickListener를 설정 한 후에 더 이상 이미지를 터치/플링/스크롤하여 갤러리를 스크롤 할 수 없다는 것입니다. 부모님/어린이 이벤트의 문제라고 생각합니다.하지만 정확히 어떻게 고쳐야할지 모르겠습니다. 도와주세요.

답변

2

이것은 ListView에서의 경험에 기반한 것입니다 (clickListener는 작동하지만 부모 onClickListener는 작동하지 않음). 그러나 onClickListener를 imageViews로 설정하면 포커스를 제거 할 수 있었을 수 있습니다. 다른 터치 이벤트가 등록되지 않습니다.

내가 모든 것을 당신이 ImageViews에 OnClickListener를 추가하기 전에 예상대로 일을 가정하고 myImageView.setFocusable(false)

을 설정해보십시오.

+0

오로라, onClickListener를 설정하기 전에 모든 기능이 작동했습니다. 초점을 맞추면 효과가 없습니다. 나는 터치 이벤트와 다운 이벤트를 가로 채려고 노력할 것입니다 ... – Jack

+0

예, 미안 해요. 내가 말했듯이, 야생의 추측. 행운을 빌어 요! – Aurora

1

나는이 문제를 갤러리를 서브 클래 싱하고 onDown() 및 onSingleTapUp()를 재정 의하여 해결했습니다. 모션 이벤트를 항목 ID로 변환하려면 pointToChildId() 메서드도 구현해야합니다. =) 처음에 계획했던 것보다 훨씬 많은 작업 이었지만 지금은 효과가 있으며 솔루션에 만족합니다.

관련 문제