1

windowmanager当单击浮动图像(使用)时,我正在尝试在主屏幕上创建弹出窗口。

所以在使用layoutinflater时,我无法viewgroup在第二个参数中设置 a ,因为findviewbyId无法识别。所以我一直在null。如下所示。

LayoutInflater inflater = (LayoutInflater) Floater.this
                             .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                     View layout = inflater.inflate(R.layout.popup_for_floating_img,
                             null);

                     pwindo = new PopupWindow(layout, 300, 370, true);
                     pwindo.showAtLocation(layout, Gravity.CENTER, 0, 0);

但是当我单击主屏幕上的浮动图像时,它会给出以下错误消息。

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?

所以请建议我如何获得点击弹出窗口。

我正在尝试弹出窗口,例如如果我们在CLEAN MASTER应用程序中启用浮动小部件并单击浮动扫帚图像将弹出窗口。

4

1 回答 1

1

在你的 showPopup(...) 函数中试试这个:

layout.post(new Runnable()
{
    public void run()
    {
        popup.showAtLocation(layout, Gravity.NO_GRAVITY, OFFSET_X, OFFSET_Y);
    }
});

布局是您的弹出窗口。这是因为您试图在创建活动之前显示弹出窗口。

于 2015-07-16T14:44:54.033 回答