PopupWindow没有得到任何TouchEvents

时间:2014-06-17 13:53:01

标签: android google-maps-android-api-2 touch-event android-popupwindow

我有一个MapFragment,在点击标记时我会显示PopupWindow。我似乎无法接受TouchEvent s。

这就是我所拥有的:

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

尚未看到来自听众的消息。

编辑:供您参考:我的窗口内有异步加载的图片

1 个答案:

答案 0 :(得分:0)

PopupWindow有一个关于TouchEvent的非常不直观的错误。找到解决方案here

即:PopupWindow 不会捕获任何事件,除非它有背景

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;
    }
});