单击浮动图像时,我尝试在主屏幕上创建弹出窗口(使用windowmanager
)。
所以在使用layoutinflater
时,由于无法识别viewgroup
,我无法在第二个参数中设置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 应用中启用浮动小部件并点击浮动扫帚图像将弹出窗口。
答案 0 :(得分:1)
在showPopup(...)函数中尝试:
layout.post(new Runnable()
{
public void run()
{
popup.showAtLocation(layout, Gravity.NO_GRAVITY, OFFSET_X, OFFSET_Y);
}
});
布局是弹出窗口。这是因为您在创建活动之前尝试显示弹出窗口。