2011-02-18 6 views
0

일부 데이터를 표시하기 위해 데이터베이스를 사용하는 목록이 있습니다. 사용자가 각 목록 항목에서 수행 할 수있는 몇 가지 작업이 있으며 사용자가 길게 누름을 사용하여 가능한 작업 목록을 가져 오는 상황에 맞는 메뉴를 구현하는 대신 사용자가 탭할 수 있도록 각 항목에 단추를 추가하고 싶습니다 버튼을 눌러 작업을 수행하십시오. 목록은 잠재적으로 커질 수 있으며 각 목록 항목에 대한 각 단추에 리스너를 연결하면 잔인 함을 알 수 있으므로 Javascript 프로그래머가 이벤트 버블 링을 할 때 수행 할 작업, 즉 전체 목록과 같은 최상위 요소에 단일 처리기를 연결하고 클릭 이벤트가 발생합니다. 이 일을 어떻게 하죠?Android 목록 탭 이벤트 위임

답변

1

View.OnClickListener.onClick() 거품이 생기지 않으므로 제안하는 해결책은 효과가 없습니다.

OTOH, View.OnTouchListener.onTouch()이 경우 사용 가능하지만 MotionEvent의 아래/위를 수동으로 처리하여 클릭을 감지해야합니다.

게다가 버튼을 많이 만들면 onCLick 핸들러를 추가하는 것이 많은 오버 헤드가 될 것입니다. 특히 모든 메소드에 동일한 메소드를 등록 할 수 있기 때문에 더욱 그렇습니다.

조숙 한 최적화처럼 들리려고합니다. 사용자에게 영향을 미치는 실제 오버 헤드가 있는지 확인한 후에 처리하십시오.

+0

좋은 점을 만들고 동일한 처리기를 모두 할당하고 단일 처리기 내에서 처리되는 방식을 전환하는 것이 가장 좋은 방법이라고 생각합니다. – davidk01