안드로이드 개발 질문/답변
(글 수 45,052)
첨부 그림처럼요.. "수내주택DHRU"라는 LocationItemizedOverlay 에 터치 이벤트를 주어 AlertDialog처리를 하고 싶은데요
어제 망고라는 분께서 답변주셨습니다.
--------------------------------------------------------------
맵뷰에 mapView.getOverlays().add(overlay); 이런식으로 overlay Item을 add 하는 식으로 구현하시고 계신다면 overlay 아이템에 touch Event Listener 달아주시면 될듯 합니다.
터치이벤트 구현은 안해봤지만 item도 객체이니 될듯합니다.
--------------------------------------------------------------
overlay 아이템에 터치 이벤트에 이하의 처리를 했습니다.
굵은 글씨부분에서 overlayDialog.onTouchEvent(globalEvent, mapView)) 부분에서 null Poit exception 에러가 납니다.
onTouchEvent를 처리하기 위해서 선행작업이 필요한 것 같은데.. 고수님들께 문의 드립니다
감사합니다.
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}else{
if(listOfOverlays.contains(overlayDialog)){
Log.i("onTouchEvent","onTouchEvent");
if(overlayDialog.onTouchEvent(globalEvent, mapView)){
Log.i("onTouchEvent","--------------onTouchEvent");
}
}
//TODO
return false;
}
}
어제 망고라는 분께서 답변주셨습니다.
--------------------------------------------------------------
맵뷰에 mapView.getOverlays().add(overlay); 이런식으로 overlay Item을 add 하는 식으로 구현하시고 계신다면 overlay 아이템에 touch Event Listener 달아주시면 될듯 합니다.
터치이벤트 구현은 안해봤지만 item도 객체이니 될듯합니다.
--------------------------------------------------------------
overlay 아이템에 터치 이벤트에 이하의 처리를 했습니다.
굵은 글씨부분에서 overlayDialog.onTouchEvent(globalEvent, mapView)) 부분에서 null Poit exception 에러가 납니다.
onTouchEvent를 처리하기 위해서 선행작업이 필요한 것 같은데.. 고수님들께 문의 드립니다
감사합니다.
@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}else{
if(listOfOverlays.contains(overlayDialog)){
Log.i("onTouchEvent","onTouchEvent");
if(overlayDialog.onTouchEvent(globalEvent, mapView)){
Log.i("onTouchEvent","--------------onTouchEvent");
}
}
//TODO
return false;
}
}




그 파라미터 빼보고 해보시길..
참고로 그림처럼 상가 리스트 들을 클릭했을 때 이벤트 처리를 원하시면
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
onListItemClick((ListView) parent, view, position, id);
}
protected void onListItemClick(ListView l, View v, int position, long id) {
}이런식으로 구현하는게 나중을 위해서 더 좋은것 같습니다.