0

我有一个MapFragment,在单击标记时,我正在显示一个PopupWindow. 我似乎无法让它接收TouchEvents。

这是我的atm:

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

还没有看到听众发来的消息。

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

4

1 回答 1

0

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

即: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;
    }
});
于 2014-06-17T14:24:02.740 回答