목록보기가 있고 모든 행에 클릭 가능한 영역이 여러 개 있습니다. bindView (CursorAdapter 사용) 모든 클릭 가능한 영역에 대해 onClickListener 설정하고 모든 것이 잘 작동합니다. 의 Bindview는 (내가 첫 번째 항목을 클릭하면 보인다Listview - 재사용 뷰에서 onClickListener의 onClick이 호출되었습니다.
내가보기를 클릭하고 동시에 notifyDataSetChanged를 호출 (또는 커서가 변경) 때
문제가 발생하지만, OnClickListener를 호출하기 전에, 뷰는 재사용 두 번째 항목에 대해 onClickListener가 호출되고 두 번째 항목에 onClickListener가 호출됩니다. 유일한 생각은 touch가 실행 된 후 onClickListener가 호출되기 전에보기가 다시 사용된다는 것입니다. 어떤 문제 해결 방법이나 무엇이 잘못 될 수 있습니까?
편집 : 클릭보기를 스크롤 내부 입니다 경우 클릭하거나 스크롤 여부를 확인하기 위해 onTouch와 onclick을 사이에 180ms 지연이있다. 따라서 view가 onTouch와 onClick 사이에서 재사용되는 경우, onClick은 재사용 된 (잘못된) 행에서 호출됩니다.
OnLongClickListener를 사용하면 거의 동일하게 더 쉽게 재생할 수 있습니다.
코드를 추가하십시오. – Raanan