3

当我在没有帖子的情况下调用 showAsDropDown 时(即直接在代码中),我看到了弹出窗口 -

PopupWindow w = new PopupWindow(v.getContext());
w.showAsDropDown(v);

但是,当我尝试使用时v.post()(无论是否延迟),我都看不到弹出窗口。

v.post(new Runnable() {
            @Override
            public void run() {
                w.showAsDropDown(v);
            }
        });

这可能是什么原因造成的?

4

1 回答 1

4

好吧,我觉得很愚蠢,但是我已经找到了问题,并将问题+解决方案留给后代-

问题是我忘记在帖子中调用更新:)

v.post(new Runnable() {
            @Override
            public void run() {
                w.showAsDropDown(v);
                w.update(v, 0, 0, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            }
        });

此代码有效。

于 2012-12-03T19:42:31.983 回答