0

저는 MapFragment입니다. 마커를 클릭하면 PopupWindow이 표시됩니다. 나는 그것이 비록 TouchEvent를받는 것을 얻는 것처럼 보이지 않을 수있다.PopupWindow가 TouchEvents를받지 못합니다

는 여기에 내가 기압있어 무엇 :

mPopupWindow.getContentView().setOnClickListener(new OnClickListener() 
{ 

    @Override 
    public void onClick(View v) 
    { 
     Log.d("msg", "PopupWindow onClick"); 

    } 

}); 

특정 PopupWindow 호출 :

mPopupWindow.setTouchable(true); 
mPopupWindow.showAtLocation(mMapLinearLayout, x, y) //root is a subclass of LinearLayout 

아직 리스너에서 메시지를 보지 못했다 있습니다.

편집 : 귀하의 정보 : 내 창 내부 비동기

+0

이를 참조하시기 바랍니다 배경 http://stackoverflow.com/questions/15876390/android-maps-v2-click-on을하지 않는 한 PopupWindow은, 모든 이벤트을 캡처하지 않습니다 -popup –

+0

표준 InfoWindow를 사용할 수 없다고 생각합니다. afaik는지도에 이미지로 렌더링하고 내 창에는 비동기 적으로로드되는 이미지가 있습니다. 즉, 해당 자리 표시 자만 렌더링된다는 의미입니다. 사이드 노트 : 대신 UI 스레드에로드해야합니까? 다운로드가되었으므로 문제가 될 수 있습니다 ... – mewa

답변

0

PopupWindow로드 TouchEvent들에 관한 꽤 직관적 버그가되는 이미지가있다. 발견 된 해결책 here.

즉 : 그것은

mPopupWindow.setBackgroundDrawable(new BitmapDrawable()); // you have to set background 
mPopupWindow.setTouchInterceptor(new OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View v, MotionEvent ev) 
    { 
     Log.d("msg", "PopupWindow onTouch"); 
     } 
     return false; 
    } 
});