2

このようにPopupWindow定義されている場合:

public class MyWindow extends PopupWindow implements View.OnTouchListener {
    MyWindow(View view) {
        super(view);

        setHeight(view.getMeasuredHeight());
        setFocusable(true);
        setTouchable(true);
        setTouchInterceptor(this);
    }

    public boolean onTouch(View v, MotionEvent event) {
        System.out.println("onTouch()");
        return true;
    }
}

何らかの理由で、onTouch()呼び出されることはありません。

私は何が間違っているのですか?PopupWindowタッチイベントを受け入れるにはどうすればよいですか?

4

1 に答える 1

2

別の質問に対するこの回答で説明したように、XMLから拡張されており、視覚的に背景を設定する必要がない場合でもPopupWindow、背景を明示的に設定する必要があります。Drawable

私はこの行を追加することでこれを修正しました:

        setBackgroundDrawable(new ShapeDrawable());

コンストラクターに。

于 2012-06-05T01:27:49.947 に答える