안드로이드 개발 질문/답변
(글 수 45,052)
실은 제가 ListView에서 검색결과를 보여주는 부분을 작업하고 있는데..
다음의 작업을 어떻게 해야 할지 감이 안잡혀 질문을 드립니다..
항목을 클릭하면 상세내용을 보여주는 Activity로 이동하도록 하고..
항목을 롱클릭하면 ContextMenu가 별도로 화면에 떠서 상세화면으로 이동하게끔할지..삭제하도록 할지를 결정할수 있게끔 하려 합니다..
따로따로는 구현이 됐습니다..클릭을 하는 부분, 롱클릭을 하는 부분..
근데 문제는 둘을 같이 구현을 하면 롱클릭이 일반 클릭이벤트에 씹히는 현상이 있습니다..
롱클릭을 해도 롱클릭을 인지하지 못하고 일반 클릭이벤트로 인지하고 있거든요..
롱클릭이 일단 먼저 클릭 이벤트를 타는것인지..ㅠㅠ..
이것을 구분할 수 있는 방법이 없을까요..? 알려주심 고맙겠습니다..




예전에 저도 비슷한 작업을 했었는데
저는 클릭은 커스텀어댑터 밖에서(?) 값을 받고 롱클릭은 겟뷰에서 바로 받으니 잘됐었습니다.
class MyArrayAdapter extends ArrayAdapter implements OnCheckedChangeListener {
public View getView(final int position, View convertView, ViewGroup parent){
getListView().setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View v, final int position, long id) { // 롱클릭
쏼롸쏼라...
}
}
}
}
.....
public void onListItemClick(ListView l, final View v, final int position, long id) { // 일반 클릭
}