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 に答える