1

When I click the space outside the PopupWindow, the window is dismissed. However, if I want to scroll a ListView outside the window, the scroll event is first recognized as a click event, and get intercepted by the window, so the window get dismissed, while the scroll is not executed.

How can I scroll the ListView at the same time the window get dismissed, so that i don't need to scroll it again.

ProtossShuttle
  • 1,623
  • 20
  • 40

1 Answers1

4

Try this set of properties:

    window.setTouchable(true);
    window.setOutsideTouchable(true);
    window.setFocusable(false);

in this case your popup won't be dismissed when you click outside of its frame, but you can add a listener to catch outside touches and dismiss the popup:

    window.setTouchInterceptor(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
                window.dismiss();
                return true;
            }
            return false;
        }
    });
Vasyl Glodan
  • 556
  • 1
  • 6
  • 22