Android弹出窗口不工作

Android弹出窗口不工作,android,Android,这是我的popupwindow。但它正在处理任何触摸事件 popup = new PopupWindow(popupView, 300, 300, true); popup.showAsDropDown(v, -30, 0); popup.setBackgroundDrawable(getResources().getDrawable(R.drawable.background)); popup.setOutsideTouchable(true); pop

这是我的popupwindow。但它正在处理任何触摸事件

    popup = new PopupWindow(popupView, 300, 300, true);
    popup.showAsDropDown(v, -30, 0);
    popup.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
    popup.setOutsideTouchable(true);
    popup.setTouchable(true);
    popup.setFocusable(true);
    popup.setTouchInterceptor(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.d("TAG", "Touched in the window");
            return false;
        }
    });

请告诉我这个代码的问题。

为了帮助那些偶然发现这个线程的人

我使用的不是
setTouchInterceptor()
,而是
setOnClickListener()
setOnTouchListener()
,它们不是PopupWindow的成员,true,但我只需调用LayoutFlater来获取弹出窗口(视图),然后将其设置为PopupWindow布局。继续对视图成员函数执行魔术,因为它更适合您

代码示例:

LinearLayout viewGroup = (LinearLayout) context.findViewById(R.id.my_popup_layout_id);
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = layoutInflater.inflate(R.layout.popup_layout, viewGroup);


popup = new PopupWindow(context);
popup.setContentView(layout);
popup.setWidth(popupWidth);
popup.setHeight(popupHeight);
//popup.setFocusable(true);
popup.setOutsideTouchable(false);


popup.showAsDropDown(anchorViewOfYourChoice, OFFSET_X, OFFSET_Y);

固定的。。。很抱歉为了给你们带来麻烦,也许还可以使用PopupWindow.getContentView()获取弹出视图,但我手头没有测试台环境来测试它。